Home liberachat/#haskell: Logs Calendar

Logs on 2023-03-31 (liberachat/#haskell)

00:06:13 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
00:24:46 chanceyan joins (~chanceyan@user/chanceyan)
00:27:14 fmlatghor joins (~lcoogan@user/fmlatghor)
00:31:57 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
00:32:27 × Albina_Pavlovna quits (~Albina_Pa@2603-7000-76f0-76e0-11ec-aaf6-1b88-ff32.res6.spectrum.com) (Quit: ZZZzzz…)
00:33:15 Albina_Pavlovna joins (~Albina_Pa@2603-7000-76f0-76e0-11ec-aaf6-1b88-ff32.res6.spectrum.com)
00:50:51 × gambpang quits (~ishipman@172-6-174-68.lightspeed.cicril.sbcglobal.net) (Ping timeout: 248 seconds)
00:57:20 × Albina_Pavlovna quits (~Albina_Pa@2603-7000-76f0-76e0-11ec-aaf6-1b88-ff32.res6.spectrum.com) (Quit: ZZZzzz…)
00:59:04 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
00:59:15 Guest616 joins (~talismani@76.133.152.122)
00:59:38 <tusko> I mean, honestly, how many people are going through life thinking git == GitHub
01:02:11 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
01:03:23 <yin> tusko: probably the same ammount that thought irc == mIRC in the 90s
01:04:11 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
01:04:41 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection)
01:05:00 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
01:05:04 <monochrom> Are we done complaining about all perceived injustice in the world?
01:06:14 <yin> oh i think it's totally fair
01:06:35 × xff0x quits (~xff0x@2405:6580:b080:900:4737:f344:4be5:fdc7) (Ping timeout: 260 seconds)
01:07:10 <davean> Was there a conversation about injustice I missed?
01:07:27 <tusko> wtf is the 90s?
01:07:38 <yin> tusko: 10 years ago
01:08:02 xff0x joins (~xff0x@2405:6580:b080:900:4737:f344:4be5:fdc7)
01:08:58 <tusko> back in the day when a unit of currency bought more than a litre of petro
01:09:18 <tusko> ancient times
01:10:15 <davean> tusko: in the 90s I recall seeing it petro for 0.89 USD/Gallon
01:10:23 <monochrom> There always exist a scaling factor such that a unit of currency buys a unit of petro, tautologically.
01:10:37 <davean> monochrom: not if petro is unbuyable
01:11:00 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:18 <yin> what is petro? is it how the cool kids are saying petrol these days?
01:12:42 <geekosaur> something oil-based, as opposed to petrol/gasoline specifically?
01:13:09 <yin> oh like petrochemicals?
01:13:43 <geekosaur> yeh
01:17:07 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:20:34 × ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
01:22:56 nate4 joins (~nate@98.45.169.16)
01:25:48 gehmehgeh joins (~user@user/gehmehgeh)
01:26:24 dipper joins (~dipper@117.61.117.21)
01:26:53 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
01:27:41 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
01:27:46 <Guest616> How do I pick a random element from a list?
01:27:58 jero98772 joins (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9)
01:28:23 <Guest616> (not (!!) random access, I mean picking a random number from 1-10 and picking that index from the list, in 1 step)
01:28:57 <mauke> that's two steps
01:29:18 <mauke> :t randomRIO
01:29:18 <lambdabot> (Random a, MonadIO m) => (a, a) -> m a
01:29:24 <mauke> :t randomRIO (1, 10)
01:29:25 <lambdabot> (Random a, MonadIO m, Num a) => m a
01:30:09 <mauke> :t \xs -> (xs !!) <$> randomRIO (1, 10)
01:30:10 <lambdabot> MonadIO f => [b] -> f b
01:31:08 <mauke> % (\xs -> (xs !!) <$> randomRIO (1, 10)) "hello"
01:31:08 <yahb2> <interactive>:22:21: error: ; Variable not in scope: randomRIO :: (a0, b0) -> f Int
01:36:49 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1)
01:39:03 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:41:32 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Ping timeout: 265 seconds)
01:45:06 × haritz quits (~hrtz@user/haritz) (Ping timeout: 268 seconds)
01:49:42 haritz joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk)
01:49:42 × haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host)
01:49:42 haritz joins (~hrtz@user/haritz)
01:57:09 × xff0x quits (~xff0x@2405:6580:b080:900:4737:f344:4be5:fdc7) (Ping timeout: 250 seconds)
02:01:53 shriekingnoise_ joins (~shrieking@186.137.175.87)
02:04:55 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 260 seconds)
02:09:16 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:09:16 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:09:16 finn_elija is now known as FinnElija
02:10:43 × thegeekinside quits (~thegeekin@189.141.115.134) (Remote host closed the connection)
02:11:02 merijn joins (~merijn@86.86.29.250)
02:15:47 × merijn quits (~merijn@86.86.29.250) (Ping timeout: 250 seconds)
02:16:29 nate4 joins (~nate@98.45.169.16)
02:27:27 × td_ quits (~td@i53870922.versanet.de) (Ping timeout: 265 seconds)
02:29:07 td_ joins (~td@i5387092B.versanet.de)
02:38:52 <Guest616> mauke: ah, thanks
02:38:53 × heartburn quits (~gass@2a00:d880:3:1::b1e4:b241) (Read error: Connection reset by peer)
02:39:04 <Guest616> I was under the impression that randomRIO was from RIO lol
02:39:05 heartbur1 joins (~gass@2a00:d880:3:1::b1e4:b241)
02:44:30 <sm> understandable
02:46:01 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
02:46:33 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:50:08 heartbur1 is now known as heartburn
02:50:29 × dtman34 quits (~dtman34@76.156.89.180) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
02:51:28 dtman34 joins (~dtman34@2601:447:d000:93c9:905d:88d7:219e:88fc)
02:52:00 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
02:52:00 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
02:52:00 wroathe joins (~wroathe@user/wroathe)
02:53:32 Guest616 parts (~talismani@76.133.152.122) (Using Circe, the loveliest of all IRC clients)
02:54:12 × captnemo quits (~captnemo@193.32.127.232) (Quit: WeeChat 3.8)
02:54:33 × heartburn quits (~gass@2a00:d880:3:1::b1e4:b241) (Quit: Reconnecting)
02:57:06 heartburn joins (~gass@2a00:d880:3:1::b1e4:b241)
02:58:12 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9) (Remote host closed the connection)
03:04:40 × srk quits (~sorki@user/srk) (Ping timeout: 252 seconds)
03:06:21 nate1 joins (~nate@98.45.169.16)
03:06:31 × nate4 quits (~nate@98.45.169.16) (Read error: Connection reset by peer)
03:07:27 mikoto-chan joins (~mikoto-ch@d1t55jpjnm8t59ntyy4-4.rev.dnainternet.fi)
03:11:45 srk joins (~sorki@user/srk)
03:16:14 notzmv joins (~zmv@user/notzmv)
03:16:16 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 265 seconds)
03:19:19 wagle joins (~wagle@quassel.wagle.io)
03:19:51 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds)
03:25:25 × raoul quits (~raoul@95.179.203.88) (Ping timeout: 256 seconds)
03:26:06 raoul joins (~raoul@95.179.203.88)
03:30:52 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1)
03:35:46 × krei-se quits (~krei-se@p50874388.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
03:36:59 mbuf joins (~Shakthi@49.207.178.186)
03:40:01 krei-se joins (~krei-se@31.6.9.19)
03:43:19 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Remote host closed the connection)
03:47:55 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
03:49:24 codaraxis joins (~codaraxis@user/codaraxis)
03:49:42 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
03:51:02 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
03:51:41 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
03:52:34 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
03:54:00 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
03:56:19 × jakesyl____ quits (sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 250 seconds)
04:00:16 jakesyl____ joins (sid56879@id-56879.hampstead.irccloud.com)
04:08:22 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
04:09:38 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
04:13:40 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
04:13:47 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
04:21:55 × hueso quits (~root@user/hueso) (Ping timeout: 276 seconds)
04:23:50 hueso joins (~root@user/hueso)
04:38:49 × Vq quits (~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 276 seconds)
04:40:01 Vq joins (~vq@90-227-192-206-no77.tbcn.telia.com)
04:42:04 × raym quits (~ray@user/raym) (Ping timeout: 268 seconds)
04:42:31 raym joins (~ray@user/raym)
04:44:52 thegeekinside joins (~thegeekin@189.141.115.134)
04:57:34 jakalx joins (~jakalx@base.jakalx.net)
04:59:19 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:00:29 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
05:04:32 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 265 seconds)
05:07:38 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
05:13:12 × codaraxis quits (~codaraxis@user/codaraxis) (Read error: Connection reset by peer)
05:15:48 nate1 joins (~nate@98.45.169.16)
05:17:12 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
05:17:19 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
05:19:38 mixfix41 joins (~sdenynine@user/mixfix41)
05:20:32 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds)
05:20:55 wagle joins (~wagle@quassel.wagle.io)
05:23:36 × chanceyan quits (~chanceyan@user/chanceyan) (Quit: Client closed)
05:24:00 × hueso quits (~root@user/hueso) (Ping timeout: 268 seconds)
05:32:55 dipper_ joins (~dipper@117.61.113.15)
05:32:57 × dipper quits (~dipper@117.61.117.21) (Ping timeout: 250 seconds)
05:41:31 hueso joins (~root@user/hueso)
05:45:24 Midjak joins (~Midjak@82.66.147.146)
05:51:28 × mixfix41 quits (~sdenynine@user/mixfix41) (Ping timeout: 248 seconds)
06:12:05 chomwitt joins (~chomwitt@2a02:587:7a16:e500:1ac0:4dff:fedb:a3f1)
06:14:15 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
06:14:22 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 276 seconds)
06:14:41 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
06:15:01 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds)
06:17:26 wagle joins (~wagle@quassel.wagle.io)
06:25:00 hugo joins (znc@verdigris.lysator.liu.se)
06:28:17 trev joins (~trev@user/trev)
06:31:27 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:34:26 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
06:35:20 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
06:36:58 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
06:38:03 × msavoritias quits (cb716af6b3@irc.cheogram.com) (Ping timeout: 248 seconds)
06:39:22 NiceBird joins (~NiceBird@185.133.111.196)
06:40:56 msavoritias joins (cb716af6b3@irc.cheogram.com)
06:41:47 lortabac joins (~lortabac@2a01:e0a:541:b8f0:f7c9:1b5e:6404:a5d6)
06:44:20 michalz joins (~michalz@185.246.207.203)
06:44:54 mncheck joins (~mncheck@193.224.205.254)
06:48:27 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
06:54:03 × raym quits (~ray@user/raym) (Ping timeout: 255 seconds)
06:58:32 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
06:58:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:59:37 stiell joins (~stiell@gateway/tor-sasl/stiell)
07:01:47 euandreh joins (~Thunderbi@189.6.18.7)
07:02:13 × mncheck quits (~mncheck@193.224.205.254) (Read error: Connection reset by peer)
07:02:47 Bocaneri joins (~sauvin@user/Sauvin)
07:03:12 Bocaneri is now known as Guest5635
07:05:01 × Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 240 seconds)
07:07:44 × mikoto-chan quits (~mikoto-ch@d1t55jpjnm8t59ntyy4-4.rev.dnainternet.fi) (Ping timeout: 248 seconds)
07:09:24 Guest5635 is now known as Sauvin
07:09:58 mikoto-chan joins (~mikoto-ch@d1t55jpjnm8t59ntyy4-4.rev.dnainternet.fi)
07:12:29 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
07:15:34 chanceyan joins (~chanceyan@user/chanceyan)
07:19:09 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
07:20:33 mncheckm joins (~mncheck@193.224.205.254)
07:34:53 vpan joins (~0@212.117.1.172)
07:37:00 acidjnk joins (~acidjnk@p200300d6e715c42470428d3fa5db2296.dip0.t-ipconnect.de)
07:46:49 mmhat joins (~mmh@p200300f1c7024044ee086bfffe095315.dip0.t-ipconnect.de)
07:47:23 × mmhat quits (~mmh@p200300f1c7024044ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
07:52:50 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
07:53:09 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
07:53:21 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:01:08 titibandit joins (~titibandi@user/titibandit)
08:02:01 × shriekingnoise_ quits (~shrieking@186.137.175.87) (Ping timeout: 250 seconds)
08:02:26 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds)
08:02:53 chexum joins (~quassel@gateway/tor-sasl/chexum)
08:05:19 × ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
08:06:48 × thegeekinside quits (~thegeekin@189.141.115.134) (Ping timeout: 268 seconds)
08:11:14 wagle joins (~wagle@quassel.wagle.io)
08:11:58 jespada_ joins (~jespada@148.252.132.160)
08:13:59 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 264 seconds)
08:17:04 × jespada_ quits (~jespada@148.252.132.160) (Read error: Connection reset by peer)
08:18:06 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
08:24:09 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
08:30:07 kuribas joins (~user@ptr-17d51eporpn4nzulj23.18120a2.ip6.access.telenet.be)
08:30:48 <kuribas> I was asked to do a talk on correct by construction in my company.
08:30:59 <kuribas> I'd like to use a Python example, and also show how dependent types (idris) can help with this.
08:31:14 <kuribas> Do smart constructors count as correct by construction?
08:31:35 <kuribas> I could give a small clojure example to please the crowd :)
08:31:57 × jmorris quits (uid537181@2a03:5180:f:5::8:325d) (Quit: Connection closed for inactivity)
08:32:50 <mauke> I thought the guaranteed-full binary tree type was neat
08:33:13 <kuribas> yeah, I was looking for that, but couldn't find it back.
08:35:34 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:37:05 <tomsmeding> hm? data Nat = Z | S Nat ; data Tree (n :: Nat) a where { Leaf :: Tree 0 a ; Node :: Tree n a -> Tree n a -> Tree (S n) a }
08:37:33 <tomsmeding> which is hellish with GHC.TypeLits Nat, by the way
08:37:56 <mauke> data Tree a = Leaf a | Node (Tree (a, a))
08:37:59 zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe)
08:38:12 <tomsmeding> ah right
08:38:50 <kuribas> my idea was to use python FastAPI as an example, how creating the api will ensure it is correct wrt to the specification (openAPI spec).
08:39:13 <kuribas> at least, when using the static type checker, like pyright.
08:39:44 <kuribas> And then to show extensible records, where you have a record specification which states the invariants of the record that cannot be broken.
08:41:13 <kuribas> I could use that tree exampe perhaps.
08:41:26 <[exa]> kuribas: I'd suggest to do the haskell refactoring trick
08:41:55 <[exa]> make an example codebase, then change the type of something in the API, and show how fixing the rest of the app is simply "walking the errors"
08:41:56 <kuribas> refactor some haskell code?
08:42:01 <kuribas> right
08:42:43 <[exa]> it's a bit off the "correct by construction" but the certainty of "there's no forgotten NULL somewhere" is what sells this to devs :D
08:42:58 <kuribas> not clojure devs...
08:43:36 <tomsmeding> kuribas: you're the one who brought idris into the conversation :p
08:43:46 <kuribas> I also wanted to show that dependent types can allow you to use both clojure techniques, and domain modelling with the type system.
08:43:51 <[exa]> clojure devs never forgot to fill in a non-null field?
08:43:59 <kuribas> They don't care.
08:44:20 <kuribas> Well, there is spec, which does runtime validation.
08:44:27 <kuribas> or malli, what we use.
08:45:47 × anpad quits (~pandeyan@user/anpad) (Read error: Connection reset by peer)
08:48:02 anpad joins (~pandeyan@user/anpad)
08:48:54 <kuribas> mauke: right, that was the one.
08:49:17 <kuribas> mauke: but I also read it was hard to manipulate.
08:49:37 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:50:03 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
08:51:44 <kuribas> mauke: My assertion that prompted this talk was that (dependent) types, or correct by construction, doesn't necessary imply a lot of complexity.
08:52:12 titibandit parts (~titibandi@user/titibandit) ()
08:52:17 titibandit joins (~titibandi@user/titibandit)
08:55:01 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
08:57:32 mexpr joins (~mexpr@user/mexpr)
08:57:47 wagle joins (~wagle@quassel.wagle.io)
08:59:13 razetime joins (~Thunderbi@49.207.192.117)
09:00:07 × daylily[m] quits (~daylilym]@2001:470:69fc:105::3:1d06) (Quit: You have been kicked for being idle)
09:02:06 ec joins (~ec@gateway/tor-sasl/ec)
09:14:11 × acidjnk quits (~acidjnk@p200300d6e715c42470428d3fa5db2296.dip0.t-ipconnect.de) (Remote host closed the connection)
09:14:34 acidjnk joins (~acidjnk@p200300d6e715c424cc588042de1b7b49.dip0.t-ipconnect.de)
09:17:11 nate1 joins (~nate@98.45.169.16)
09:21:58 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
09:24:35 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:25:20 <jade[m]> I want to run a program with `suid`, but I'm not sure how to achieve this ergonomically with cabal
09:25:23 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
09:26:06 <jade[m]> as of now I have to compile and then chmod u+s manually - how can I automate that#
09:26:07 <jade[m]> s//`/, s//`/, s/#/?/
09:28:36 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
09:34:13 <geekosaur> I don't think cabal will help you there. I'm also not sure it should, between portability (Windows doesn't do suid and MacOS generally won't let you) and security concerns (yes, types help, but in the end it's in IO and can do anything)
09:35:13 <jade[m]> mhm yeah
09:35:37 <jade[m]> I'm running into another issue too, where `System.Posix.User` from `unix` does not seem to work with shadowed passwords
09:35:47 <geekosaur> I'm in particular reminded of the Knuth quote "I have only proven this program correct, not tested it"
09:36:32 <jade[m]> jade[m]: Is there a library that does or do I have to use C/foreign calls?
09:38:48 <geekosaur> I think you have to write bindings to `getspent` and friends yourself
09:39:41 <geekosaur> also beware that on modern systems they're often hashes
09:40:10 <jade[m]> yes
09:40:39 <jade[m]> I'm basically reading through the source code of `slock` and trying to find bindings haha
09:41:50 <geekosaur> on any reasonably modern system you actually want to go through PAM, not blindly assume shadow passwords, but I guess I'm not surprised slock doesn't
09:42:13 <geekosaur> (I actually don't like suckless stuff much. slock in particular has been a source of security issues)
09:43:45 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
09:43:56 <jade[m]> mhm, I understand
09:44:01 <jade[m]> I'll read up on pam
09:45:28 <geekosaur> if you use PAM you get support for 2-factor auth, fingerprint readers, etc.
09:46:16 × remexre quits (~remexre@user/remexre) (Read error: Connection reset by peer)
09:46:25 × chanceyan quits (~chanceyan@user/chanceyan) (Quit: Client closed)
09:46:25 remexre joins (~remexre@user/remexre)
09:47:52 × chomwitt quits (~chomwitt@2a02:587:7a16:e500:1ac0:4dff:fedb:a3f1) (Ping timeout: 252 seconds)
09:49:52 <nomagno> Isn't PAM a netpbm pixel format?
09:50:06 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1)
09:50:24 jade[m] uploaded an image: (25KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/bfb4a8b8390e16ca0aa3fd4f555b8e1edf5dfced/image.png >
09:50:25 <jade[m]> looks great
09:51:14 <geekosaur> `man 7 pam`
09:51:51 <nomagno> Ah
09:52:01 <geekosaur> although the namespace of TLAs is small enough that I'm not surprised there are collisions 🙂
09:52:03 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
09:52:28 <mauke> pluggable authentication modules, not portable any map
09:54:41 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Ping timeout: 250 seconds)
10:02:13 __monty__ joins (~toonn@user/toonn)
10:06:14 smallville7123 joins (~Android@cpe-172-193-181-254.qld.foxtel.net.au)
10:07:13 gurkenglas joins (~gurkengla@dynamic-046-114-179-201.46.114.pool.telefonica.de)
10:08:32 nschoe joins (~q@2a01:e0a:8e:a190:e9eb:f2f0:bd71:1213)
10:09:19 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
10:11:41 raym joins (~ray@user/raym)
10:12:14 × titibandit quits (~titibandi@user/titibandit) (Quit: leaving)
10:12:31 titibandit joins (~titibandi@user/titibandit)
10:26:37 chomwitt joins (~chomwitt@2a02:587:7a16:e500:1ac0:4dff:fedb:a3f1)
10:27:43 × titibandit quits (~titibandi@user/titibandit) (Quit: leaving)
10:28:33 titibandit joins (~titibandi@user/titibandit)
10:37:35 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
10:39:56 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
10:40:09 jmorris joins (uid537181@id-537181.uxbridge.irccloud.com)
10:44:31 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
10:46:33 × bollu quits (~bollu@159.65.151.13) (Quit: Ping timeout (120 seconds))
10:47:09 × razetime quits (~Thunderbi@49.207.192.117) (Ping timeout: 255 seconds)
10:47:33 bollu joins (~bollu@159.65.151.13)
10:51:50 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3cb1:54bf:cd2c:417f)
10:56:20 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3cb1:54bf:cd2c:417f) (Ping timeout: 260 seconds)
10:57:45 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:00:15 razetime joins (~Thunderbi@49.207.192.117)
11:05:06 × gurkenglas quits (~gurkengla@dynamic-046-114-179-201.46.114.pool.telefonica.de) (Ping timeout: 265 seconds)
11:06:16 × Alex_test quits (~al_test@178.34.150.148) (Read error: Connection reset by peer)
11:06:28 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Quit: use-value)
11:06:30 × AlexNoo quits (~AlexNoo@178.34.150.148) (Read error: Connection reset by peer)
11:06:35 gurkenglas joins (~gurkengla@dynamic-046-114-179-201.46.114.pool.telefonica.de)
11:06:47 Alex_test joins (~al_test@178.34.150.148)
11:06:52 AlexNoo joins (~AlexNoo@178.34.150.148)
11:14:33 Inst joins (~Inst@2601:6c4:4081:54f0:5888:2220:c445:9f20)
11:14:35 <Inst> could i get some help installing hmatrix?
11:14:39 <Inst> on windows?
11:14:45 <Inst> just dropped down to older cabal
11:15:14 <Inst> cabal isn't seeing blas and lapack libs
11:19:47 <Inst> i went with msys, trying to use include-dirs
11:19:51 <Inst> trying to install to global library
11:21:10 <Inst> https://media.discordapp.net/attachments/968989726633779215/1091321225923543061/image.png?width=1718&height=810
11:30:33 × MasseR46 quits (thelounge@2001:bc8:47a0:1521::1) (Quit: The Lounge - https://thelounge.chat)
11:31:19 <[exa]> Inst: installing lapack and blas and pointing to it should solve this
11:31:32 <Inst> how can I install lapack and blas? :(
11:31:43 <Inst> maybe I'm doing it wrong and thinking of openblas, when it's probably more useful to think of lapack and blas
11:31:53 MasseR46 joins (thelounge@2001:bc8:47a0:1521::1)
11:31:54 <[exa]> openblas should do the same AFAIK
11:31:55 × gurkenglas quits (~gurkengla@dynamic-046-114-179-201.46.114.pool.telefonica.de) (Ping timeout: 260 seconds)
11:32:17 <[exa]> do you have openblas header files and library files somewhere?
11:32:25 <Inst> maybe my pkg-config is broken?
11:32:48 <[exa]> you can try pkg-config lapack --libs
11:33:00 <Inst> lol, you've gotta be kidding me
11:33:17 <Inst> hmatrix installs if I install lapack lib instead of openblas
11:34:00 <[exa]> ok maybe openblas simply doesn't install to cabal-visible destinations
11:34:19 <[exa]> like, it _should_ work afaik but always better check
11:34:43 <Inst> i nuked my openblas
11:34:50 <Inst> lapack on its own seems to be working, waiting on the error message
11:35:00 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
11:35:00 <Inst> https://discourse.haskell.org/t/binning-haskell-with-dsa/6048/10
11:35:20 <Inst> i'm trying to do fib with hmatrix, never used that library before
11:39:00 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
11:43:00 <merijn> Inst, [exa]: The hmatrix package doesn't use pkg-config to find them, it uses hard coded paths
11:43:06 <merijn> (looking at the cabal file)
11:43:37 <merijn> cabal has flags for specifying extra lib/include dirs that you probably want
11:43:45 <merijn> (if it's still not finding them)
11:44:08 <[exa]> oh well, good to know.
11:46:16 <Inst> i'm more annoyed that C FFI right now is still wonky with ghci
11:46:23 <Inst> ghci is my go-to for screwing around
11:46:26 <Inst> thanks for help, merijn
11:46:37 <Inst> access violation in generated code at...
11:46:40 <merijn> Inst: It's fine, you just need to run ghci with -fobject-code
11:46:52 <merijn> so it uses compiled Haskell and not bytecode
11:47:47 × ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
11:48:49 <Inst> okay, again
11:48:49 <Inst> :(
11:49:04 <Inst> https://media.discordapp.net/attachments/968989726633779215/1091328284140245072/image.png?width=2158&height=524
11:49:39 <merijn> oh, this is windows?
11:49:57 <merijn> I vaguely recall windows dynamic linking being a mess
11:50:37 <Inst> maybe it's just a windows thing
11:50:38 <Inst> oh okay
11:51:52 <geekosaur> access violation? this sounds like it might be https://gitlab.haskell.org/ghc/ghc/-/issues/23194
11:56:48 × mei quits (~mei@user/mei) (Ping timeout: 248 seconds)
11:59:38 × acidjnk quits (~acidjnk@p200300d6e715c424cc588042de1b7b49.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
12:00:54 mei joins (~mei@user/mei)
12:01:22 <Inst> ugly, handrolling
12:01:30 <Inst> handrolled my own matrix type
12:02:53 × razetime quits (~Thunderbi@49.207.192.117) (Remote host closed the connection)
12:10:21 <Inst> Ugh, everyone would have been better off if Haskell gatekept like OCaml and dumped Windows support
12:10:40 <[exa]> Inst: why you use it on windows tho?
12:10:50 <Inst> I'm a windows luser
12:10:59 <Inst> not really ready to migrate to my debian install
12:11:11 <Inst> but it's pretty
12:11:38 <Inst> https://paste.tomsmeding.com/F3NHbKF5
12:11:52 <Inst> still waiting on powershell to finish outputting, heh
12:21:29 <Inst> on plus side, faster than julia, seemingly
12:21:37 jade[m] uploaded an image: (134KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/4cbe3cc25ea0701cda2b8aaab77eb0a504f94e0d/image.png >
12:21:37 <jade[m]> Why is there so many versions, especially of HLS?
12:21:39 jade[m] uploaded an image: (120KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/14583b79ac61cb926c5bb3140ce85ed4c7acc00b/image.png >
12:24:23 <Inst> slightly faster than julia is okay, i guess
12:24:51 <Inst> 18 secs vs 20 secs, GHCI, and remember it's GHCI, is slower than Julia, when using strict data structures and a hack into Num to get fast exponentiation
12:25:32 <yushyin> jade[m]: https://haskell-language-server.readthedocs.io/en/latest/what-is-hls.html#hls-and-its-wrapper
12:27:15 <Inst> and used less memory too
12:27:16 <Inst> not bad
12:27:46 <jade[m]> ok, but why is there also specific versions like 9.2 and 9.2.7?
12:28:35 <geekosaur> because HLS has to be linked against a specific ghc, because it uses the ghc api which isn't exactly stable (it's hooks into the guts of the compiler)
12:29:35 <geekosaur> which is also why the version of HLS that supported 9.2.5 didn't support 9.2.7 automatically
12:30:24 <jade[m]> alright
12:32:41 <merijn> Effectively, HLS is using GHC-as-library to do analysis of your code
12:33:23 <merijn> Which is nice, because it knows everything the compiler does. But it also sucks, because you basically end up needing to use a version that's using the exact same compiler version to make any sense
12:35:04 × dtman34 quits (~dtman34@2601:447:d000:93c9:905d:88d7:219e:88fc) (Ping timeout: 252 seconds)
12:35:57 <Inst> okay, redoing in HMatrix via ghc -O2 hand compile
12:36:11 <Inst> already reported Haskell GHCI beating Julia as a bug
12:36:16 <Inst> to Julia community
12:36:36 <yushyin> 'bug'
12:37:35 × dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer)
12:37:55 dextaa joins (~DV@user/dextaa)
12:38:53 <maerwald[m]> merijn: yeah, mind boggling that there's no ghc-as-an-actual-lib that HLS csn just link against
12:39:14 <maerwald[m]> Everything is broken in Haskell
12:40:12 <Inst> thanks for trying to fix stuff maerwald
12:40:33 <Inst> is there a fast way to do matrix exponentiation by a scalar in HMatrix?
12:40:55 xff0x joins (~xff0x@2405:6580:b080:900:c67e:6ac9:60af:99aa)
12:41:04 <Inst> because mat ^ scalar is giving me improper results
12:41:34 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:ac34:e4e8:46f:d695)
12:41:52 <merijn> maerwald[m]: I mean, there is an as actual lib, it's just not a stable one :p
12:42:14 <Inst> bleh, this shit doesn't even work, HMatrix doesn't seem to support Integer data type natively?
12:42:29 <maerwald[m]> merijn: yeah right... I remember someone saying GHC ABI is actually stable, it just changes too fast
12:42:36 <maerwald[m]> But that's wrong too
12:42:55 <maerwald[m]> Rebuild GHC with profiling and your ABI is busted
12:43:34 <merijn> Inst: Of course it doesn't. It's using BLAS and BLAS only works on fixed size datatypes (mostly uint32_t, uint64_t, float, and double)
12:45:53 acidjnk joins (~acidjnk@p200300d6e715c4242db31e0384394bb3.dip0.t-ipconnect.de)
12:46:51 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
12:47:23 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
12:48:29 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
12:50:25 jade[m] parts (~jade1024t@2001:470:69fc:105::3:238b) ()
12:54:49 × dextaa quits (~DV@user/dextaa) (Ping timeout: 265 seconds)
12:57:07 <Inst> oh well
13:00:48 <[exa]> Inst: what's the usecase btw?
13:01:19 <Inst> none
13:09:20 × fmlatghor quits (~lcoogan@user/fmlatghor) (Ping timeout: 248 seconds)
13:11:24 fmlatghor joins (~lcoogan@user/fmlatghor)
13:15:44 × Inst quits (~Inst@2601:6c4:4081:54f0:5888:2220:c445:9f20) (Ping timeout: 248 seconds)
13:15:46 Inst_ joins (~Inst@2601:6c4:4081:54f0:a461:9c3:e50e:33ff)
13:18:33 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Quit: WeeChat 3.8)
13:18:42 nate1 joins (~nate@98.45.169.16)
13:20:50 dtman34 joins (~dtman34@2601:447:d000:93c9:ea29:d585:c821:9218)
13:23:05 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
13:23:22 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Client Quit)
13:23:55 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
13:29:31 Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::bda7)
13:31:21 × mikoto-chan quits (~mikoto-ch@d1t55jpjnm8t59ntyy4-4.rev.dnainternet.fi) (Ping timeout: 250 seconds)
13:37:56 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
13:42:52 × caryhartline quits (~caryhartl@2600:1700:2d0:8d30:acdb:d04:6c2:8591) (Quit: caryhartline)
13:43:16 <Inst_> [exa]: was just wondering abotu teaching fib, i.e, if you bring it up, you should show the matrix fib that's most efficient
13:47:30 × AlexNoo quits (~AlexNoo@178.34.150.148) (Read error: Connection reset by peer)
13:48:14 AlexNoo joins (~AlexNoo@178.34.150.148)
13:49:33 × matijja quits (~matijja@193.77.181.201) (Ping timeout: 250 seconds)
13:50:57 × mauke quits (~mauke@user/mauke) (Quit: leaving)
13:51:57 matijja joins (~matijja@193.77.181.201)
13:53:24 jmdaemon joins (~jmdaemon@user/jmdaemon)
13:53:53 × chomwitt quits (~chomwitt@2a02:587:7a16:e500:1ac0:4dff:fedb:a3f1) (Ping timeout: 250 seconds)
13:58:28 × ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
14:00:25 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 276 seconds)
14:00:25 ph88 joins (~ph88@91.66.101.83)
14:01:30 × AlexNoo quits (~AlexNoo@178.34.150.148) (Read error: Connection reset by peer)
14:01:58 AlexNoo joins (~AlexNoo@178.34.150.148)
14:03:51 bhall joins (~brunohall@195.147.207.136)
14:05:20 jero98772 joins (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9)
14:11:40 × smallville7123 quits (~Android@cpe-172-193-181-254.qld.foxtel.net.au) (Ping timeout: 265 seconds)
14:13:46 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:14:23 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
14:15:44 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
14:20:00 thegeekinside joins (~thegeekin@189.141.115.134)
14:21:15 mikoto-chan joins (~mikoto-ch@d1t55jpjnm8t59ntyy4-4.rev.dnainternet.fi)
14:21:56 <[exa]> Inst_: what's fib, like fibonacci numbers?
14:21:57 × jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
14:24:50 × Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::bda7) (Remote host closed the connection)
14:25:21 <Inst_> ya
14:25:25 ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de)
14:25:41 <Inst_> currently, we're about 20% slower than Julia
14:28:31 × dipper_ quits (~dipper@117.61.113.15) (Ping timeout: 268 seconds)
14:28:43 <[exa]> why do you need matrices for computing fibs?
14:29:50 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds)
14:30:47 mauke joins (~mauke@user/mauke)
14:31:29 <jean-paul[m]> How do I do IO in the creation of a Tasty TestTree? eg, to read a set of test vectors from a file
14:32:23 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
14:33:33 <int-e> [exa]: they're a good way to arrive at algorithms that compute the n-th fibonacci number in O(log(n)) arithmetic operations.
14:34:51 Sgeo joins (~Sgeo@user/sgeo)
14:35:39 <int-e> Basically you look at powers of [0,1;1,1], using the fact that [0,1;1,1]^n = [F_{n-1},F_n;F_n,F_{n+1}]
14:35:55 × mikoto-chan quits (~mikoto-ch@d1t55jpjnm8t59ntyy4-4.rev.dnainternet.fi) (Quit: WeeChat 3.7.1)
14:36:08 jmdaemon joins (~jmdaemon@user/jmdaemon)
14:37:45 <[exa]> yeah but that's not "lapack matrices" per se, I'd guess that call overhead to blas will take more time than doing this thing manually
14:39:00 × ph88 quits (~ph88@91.66.101.83) (Ping timeout: 268 seconds)
14:39:02 <[exa]> but well, ok :]
14:39:09 hugo joins (znc@verdigris.lysator.liu.se)
14:39:18 <int-e> Ah. If that was your point, yeah I don't know why you'd want to literally use matrices either.
14:40:44 <int-e> (Instead of using matrices to derive formulas for F_{2n} and F_{2n+1} in terms of F_n and F_{n+1}, and then going wild with those.)
14:42:35 <monochrom> You can understand what the matrix formula is really doing, and unpack it back to just passing Double scalar parameters.
14:44:09 <int-e> Hmm what is it really doing? Do you want to do arithmetic in Z[x]/<x^2 - x - 1>?
14:44:30 <monochrom> Allow me to go hyperbole with "I am summing up 3 numbers, it's always 3 numbers no more no less, so I wrote summing lists in language X but lists in X are slow." Solution: s x y z = x+y+z, no list.
14:44:52 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
14:49:36 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
14:50:00 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:f7c9:1b5e:6404:a5d6) (Quit: WeeChat 2.8)
14:55:14 <Axman6> jean-paul[m]: https://hackage.haskell.org/package/tasty-golden-2.3.5/docs/Test-Tasty-Golden.html might be helpful? it depends on which tasty provider you're using
15:00:39 <jean-paul[m]> Axman6: Thanks, looks interesting
15:01:56 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds)
15:05:28 cheater_ joins (~Username@user/cheater)
15:08:08 stackdroid18 joins (14094@de1.hashbang.sh)
15:08:48 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
15:08:53 cheater_ is now known as cheater
15:12:41 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:14:19 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:14:20 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
15:15:26 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
15:17:25 gambpang joins (~ishipman@172-6-174-68.lightspeed.cicril.sbcglobal.net)
15:17:35 jmdaemon joins (~jmdaemon@user/jmdaemon)
15:24:37 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
15:26:21 cheater joins (~Username@user/cheater)
15:30:54 jakalx joins (~jakalx@base.jakalx.net)
15:34:15 econo joins (uid147250@user/econo)
15:37:43 irrgit_ joins (~irrgit@176.113.74.74)
15:40:28 × titibandit quits (~titibandi@user/titibandit) (Quit: leaving)
15:40:43 titibandit joins (~titibandi@user/titibandit)
15:43:24 shriekingnoise joins (~shrieking@186.137.175.87)
15:46:51 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds)
15:50:14 jakalx parts (~jakalx@base.jakalx.net) ()
15:56:15 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3cb1:54bf:cd2c:417f)
15:57:01 jakalx joins (~jakalx@base.jakalx.net)
16:00:14 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
16:00:50 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3cb1:54bf:cd2c:417f) (Ping timeout: 260 seconds)
16:04:16 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:ca5b:76ff:fe29:f233) (Remote host closed the connection)
16:04:41 <hippoid> :t (.) const
16:04:42 <lambdabot> (a1 -> a2) -> a1 -> b -> a2
16:05:31 <hippoid> when naming the type variables, is there some reason that lambdabot seems to group together certain variables wiht the prefix a, and others with b?
16:05:52 <hippoid> for example, in `(.) const`
16:06:41 <hippoid> it could have equally chosen names a, b, c... so why a1, a2, and b instead?
16:07:42 × vpan quits (~0@212.117.1.172) (Quit: Leaving.)
16:09:14 titibandit parts (~titibandi@user/titibandit) ()
16:09:18 <Cale> hippoid: GHC tries to preserve the variable names used in signatures, but adds numbers to them when collisions happen.
16:09:33 titibandit joins (~titibandi@user/titibandit)
16:09:50 × mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving)
16:12:59 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9) (Ping timeout: 250 seconds)
16:13:05 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds)
16:14:06 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
16:17:43 <hippoid> Cale: ok, thanks. is there somewhere this is documented?
16:18:02 <hippoid> I want to look into this more to see if I can get more intuition about reasoning about type signatures
16:18:05 <hippoid> :t const . const
16:18:06 <lambdabot> a -> b1 -> b2 -> a
16:18:36 <geekosaur> it won't actually help for that, the type checker does its own thing and behyavior isn't guaranteed even across ghc versions
16:18:45 <Cale> Well, as you pointed out, the particular choices of variable names are not especially important, and it really could rename them all for you.
16:18:51 <hippoid> like when I do that, it takes me a long to figure out how it all fits together. and now i also ask, why doesn't a have a number, but b1 and b2 do
16:19:11 <geekosaur> at most you might get an idea of in what order the typechecker in that version of ghc is typechecking things
16:19:58 <hippoid> ok, i'll take the advice and not go down that route
16:20:26 <geekosaur> which can change for various reasons often related to support for type level operations like type families, etc.
16:21:11 <hippoid> on a related note, is there some equivalent way to reason about the expression `const . const`, by using combinators, like `KBK`, or kestrel bluebird kestrel when using the 'to mock a mockingbird' names?
16:22:47 <hippoid> my undersstanding is that KBKxyz reduces to Bx(yz), but then how does one figure out the types of x, y and z? or are types even a 'thing' with combinators?
16:22:48 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
16:23:19 <geekosaur> combinator calculus is usually untyped
16:23:40 <geekosaur> which is why it can have a Y combinator
16:24:18 <geekosaur> (which, if you try to write it in Haskell, you'll find you can't write an acceptable type for it)
16:25:30 <int-e> But doesn't combinatory *logic* connect to https://en.wikipedia.org/wiki/Hilbert_system#Logical_axioms? (The axioms P1...P3 are the types of I, K, and S, respectively)
16:25:52 jero98772 joins (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9)
16:27:55 <geekosaur> so it connects to a typed combinator calculus in which the Y combinator can't exist (or is equivalent to P^~P)
16:28:14 gentauro joins (~gentauro@user/gentauro)
16:29:48 <int-e> Also I guess KBKxyz -> Bxyz -> x(yz). So the final term suggests x: b -> c, y: a -> b, z: a, but that doesn't ensure that the original term can be typed with those chocies.
16:32:27 <EvanR> :t fmap fmap fmap
16:32:28 <lambdabot> (Functor f1, Functor f2) => (a -> b) -> f1 (f2 a) -> f1 (f2 b)
16:32:38 <EvanR> sometimes it works out pretty good
16:33:14 <hippoid> int-e: I wrote the wrong combinator expression for `const . const`. instead of KBKxyz, it should have been BKKxyz
16:35:21 hugo joins (znc@verdigris.lysator.liu.se)
16:36:43 <sm> from a quick glance at haskell.org I didn't see any short motivating Why Haskell ? page suitable for civilians - do you know of one ?
16:37:10 <sm> aha, https://www.fpcomplete.com/haskell/#why-haskell
16:38:56 <sm> a more focussed one, on or linking more directly to haskell.org, would be nice
16:39:17 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:42:14 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
16:46:46 × zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!)
16:50:47 chomwitt joins (~chomwitt@ppp-94-69-24-223.home.otenet.gr)
16:56:41 hugo joins (znc@verdigris.lysator.liu.se)
16:58:13 × titibandit quits (~titibandi@user/titibandit) (Quit: leaving)
16:59:24 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3cb1:54bf:cd2c:417f)
17:05:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:06:00 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:07:12 razetime joins (~Thunderbi@49.207.192.117)
17:20:15 nate1 joins (~nate@98.45.169.16)
17:20:37 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 276 seconds)
17:24:57 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds)
17:31:40 × razetime quits (~Thunderbi@49.207.192.117) (Ping timeout: 268 seconds)
17:33:20 × nschoe quits (~q@2a01:e0a:8e:a190:e9eb:f2f0:bd71:1213) (Ping timeout: 248 seconds)
17:34:32 Guest73 joins (~Guest73@p200300ee9f014d2c583a9bedffb8b1bf.dip0.t-ipconnect.de)
17:36:43 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9) (Ping timeout: 248 seconds)
17:36:43 × Guest73 quits (~Guest73@p200300ee9f014d2c583a9bedffb8b1bf.dip0.t-ipconnect.de) (Client Quit)
17:40:20 cheater_ joins (~Username@user/cheater)
17:40:23 × Midjak quits (~Midjak@82.66.147.146) (Quit: Leaving)
17:41:55 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
17:41:59 cheater_ is now known as cheater
17:42:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:43:06 <monochrom> Heck, I don't know why I should want other people to use Haskell either.
17:44:00 <monochrom> I know why I want to use Haskell. But my values misalign, even oppose, most other people's values. So actually everything I say about myself will push people away.
17:44:55 <[exa]> I guess the general rule about pushing others to do stuff applies
17:45:10 <monochrom> But if you say, "sure, no problem, why-haskell just needs to attract more people like monochrom", then the current "purely functional statically typed" already does it.
17:45:24 × lagash quits (lagash@lagash.shelltalk.net) (Ping timeout: 252 seconds)
17:46:11 <monochrom> And then there is also Hughes's "why FP matters" which covers why lazy.
17:49:06 gurkenglas joins (~gurkengla@dynamic-046-114-179-201.46.114.pool.telefonica.de)
17:51:04 <monochrom> And if you feel that the python website is better ("better") at this kind of evangelism/advocacy, here is my old post on my opinion (TL;DR that "better" means snake oil) https://mail.haskell.org/pipermail/haskell-cafe/2007-October/032625.html
17:52:33 <[exa]> why not just have a site that highlights top cool haskell projects?
17:54:47 <monochrom> Yeah that's a good idea.
18:01:28 Midjak joins (~Midjak@82.66.147.146)
18:03:08 <[exa]> actually I recall we made a pretty good list a few weeks ago
18:05:01 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
18:08:46 vlad joins (~vlad@2a00:23c6:9822:4c01:1574:2d21:3c47:2b80)
18:09:33 <L29Ah> so, how do i print two Word's into a ByteString as two decimal ascii numbers and a separator?
18:14:12 <monochrom> Data.ByteString.Builder has something, e.g., wordDec
18:15:19 Guest73 joins (~Guest73@p200300ee9f014d2c583a9bedffb8b1bf.dip0.t-ipconnect.de)
18:15:44 <L29Ah> thanks
18:15:44 × Guest73 quits (~Guest73@p200300ee9f014d2c583a9bedffb8b1bf.dip0.t-ipconnect.de) (Client Quit)
18:16:04 × bhall quits (~brunohall@195.147.207.136) (Ping timeout: 252 seconds)
18:19:30 bhall joins (~brunohall@195.147.207.136)
18:31:48 lagash_ joins (lagash@lagash.shelltalk.net)
18:34:02 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
18:39:44 nschoe joins (~q@2a01:e0a:8e:a190:d344:fd0:3366:2fe1)
18:39:57 × purlingstream quits (~godfibrat@178.70.110.196) (Quit: Leaving.)
18:40:10 purlingstream joins (~godfibrat@178.70.110.196)
18:42:31 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-61e9-795d-69be-482f.rev.sfr.net) (Ping timeout: 260 seconds)
18:44:15 taupiqueur joins (~taupiqueu@2a02:8440:2140:490c:8d9a:8792:13e:86a6)
18:52:08 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
18:52:48 × taupiqueur quits (~taupiqueu@2a02:8440:2140:490c:8d9a:8792:13e:86a6) (Ping timeout: 248 seconds)
18:54:39 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-5cda-53cf-f789-516e.rev.sfr.net)
18:55:04 ddellacosta joins (~ddellacos@146.70.165.140)
18:56:11 × raym quits (~ray@user/raym) (Quit: kernel ypdate, rebooting...)
18:58:16 × ddellacosta quits (~ddellacos@146.70.165.140) (Read error: Connection reset by peer)
18:58:35 ddellacosta joins (~ddellacos@146.70.165.140)
18:59:08 ddellaco1 joins (~ddellacos@146.70.165.10)
19:03:33 × ddellacosta quits (~ddellacos@146.70.165.140) (Ping timeout: 268 seconds)
19:14:40 × bhall quits (~brunohall@195.147.207.136) (Ping timeout: 248 seconds)
19:15:27 bhall joins (~brunohall@185.69.145.47)
19:15:53 <EvanR> someone asked me if this was accurate (chatGPT asked to explain monads) https://cdn.discordapp.com/attachments/710644130048639066/1091440382304325714/image.png
19:18:36 × bhall quits (~brunohall@185.69.145.47) (Read error: Connection reset by peer)
19:18:50 bhall joins (~brunohall@195.147.207.136)
19:19:14 × stackdroid18 quits (14094@de1.hashbang.sh) (Quit: hasta la vista... tchau!)
19:21:09 <EvanR> at least it's not burritos
19:30:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:38:02 crazazy joins (~user@130.89.171.62)
19:42:00 × kuribas quits (~user@ptr-17d51eporpn4nzulj23.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
19:42:01 jmdaemon joins (~jmdaemon@user/jmdaemon)
19:42:32 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:ac34:e4e8:46f:d695) (Quit: use-value)
19:46:19 Albina_Pavlovna joins (~Albina_Pa@047-230-050-118.res.spectrum.com)
19:49:04 <[exa]> EvanR: tbh if you substitute monad by any other programming coolword it doesn't make much less sense
19:52:19 <EvanR> is that more or less accurate than "not even wrong"
19:52:47 <[exa]> yeah it neatly avoided being wrong
19:54:46 <ph88> does someone know a foldlike function that works on either? (a -> Either b c) -> f a -> Either b (f c) first Left value short circuit, otherwise Right values are collected
19:55:34 <ph88> actually i would need the monad variant of that Monad m => (a -> m (Either b c)) -> f a -> m (Either b [c])
20:04:13 <[exa]> ph88: this gets asked quite regularly :] might be just `sequenceA` or maybe `asum`
20:05:17 <ph88> thanks [exa] :)
20:06:42 pavonia joins (~user@user/siracusa)
20:07:16 Guest73 joins (~Guest73@p57abaed8.dip0.t-ipconnect.de)
20:07:41 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
20:08:26 <[exa]> aaaaaaaaaaand it's sequence because Either has no Alternative by default
20:10:54 × Guest73 quits (~Guest73@p57abaed8.dip0.t-ipconnect.de) (Client Quit)
20:13:39 <EvanR> :t sequenceA
20:13:40 <lambdabot> (Traversable t, Applicative f) => t (f a) -> f (t a)
20:13:52 <EvanR> :t asum
20:13:53 <lambdabot> (Foldable t, Alternative f) => t (f a) -> f a
20:15:43 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
20:18:11 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
20:19:50 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
20:21:02 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:22:35 mastarija joins (~mastarija@2a05:4f46:e03:6000:cca2:629:d477:3448)
20:24:35 <mastarija> Any idea why GHC is yelling at me that this has non-exhaustive pattern matching?:
20:24:47 <mastarija> let mps@[mp1, mp2] = [sectionTreeMinPriY t1, sectionTreeMinPriY t2]
20:25:30 <EvanR> not smart enough to see the definition implies the other options are impossible
20:26:15 <EvanR> you could use a tuple for that definition then define mps = (mp1, mp2)
20:26:15 <mastarija> Ghci doesn't complain, but when i try to build it with '-Wincomplete-uni-patterns, -Werror=incomplete-uni-patterns' it errors out...
20:26:31 <EvanR> er, mps = [mp1,mp2]
20:27:00 <mastarija> yeah. I was trying to be concise, since I have to use `maximum mps` elsewhere etc.
20:27:15 biberu joins (~biberu@user/biberu)
20:27:49 coot joins (~coot@213.134.170.228)
20:27:52 <EvanR> stands to reason if there's a warning about it, the check for pattern failure might not get optimized out either
20:28:17 <mastarija> GHCI complained when I tried `fmap sectionTreeMinPriY [t1, t2]`
20:28:27 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
20:28:36 <mastarija> That seems reasonable, because it doesn't know what `fmap` does with the list.
20:29:08 <mastarija> So I've changed it to the previous form and it was ok. But when I try to actually build stuff it gets confused. :(
20:29:53 <EvanR> well there's nothing inherently wrong with the code, so the error on incomplete patterns seems inappropriate
20:30:33 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
20:30:46 <mastarija> Yeah. It's just that... how can I lord over my friends about how haskell is superior if it can't figure this out xD
20:30:55 <EvanR> and a maximum [x,y] is just max x y
20:32:13 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
20:32:23 <EvanR> to be superior you have to upgrade to dependent types, probably by building your own dependently typed system because you'll run into even more things that annoy you
20:32:36 coot_ joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
20:32:50 hsiktas[m]1 joins (~hsiktasm]@2001:470:69fc:105::30d4)
20:32:52 <EvanR> then you can even lord of haskell users
20:33:35 × coot quits (~coot@213.134.170.228) (Ping timeout: 268 seconds)
20:33:36 coot_ is now known as coot
20:38:31 <mastarija> EvanR: I already use dependent types to some extent, and I have another case with THREE elements in a list, so `max` won't do xD
20:39:43 <Guillaum[m]> When reading `+RTS -s` output, I can see " GC time 11.983s (243.588s elapsed)". According to the doc, it is first the CPU time, and last the wall clock time. For MUT, the CPU time is usually close to N times the wall clock time (where N is th number of core used). But I don't understand why GC, in this context, is taking 245s of "wall clock time", but only "11s" of CPU time? Does this accounts for system time or locks?
20:39:47 <EvanR> maxx x y z
20:39:48 × ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
20:41:39 <c_wraith> with a differential *that* big, I'd expect that you've got something going on that's blocking GC on one thread while the rest are stopped waiting
20:43:40 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:47:04 <mastarija> :t maxx
20:47:05 <lambdabot> error:
20:47:05 <lambdabot> • Variable not in scope: maxx
20:47:05 <lambdabot> • Perhaps you meant ‘max’ (imported from Data.Ord)
20:47:27 <mastarija> had to check if it's real :)
20:47:34 lxi joins (~quassel@2a02:2f08:4706:3500:1723:d880:e55e:4cf4)
20:49:25 <Guillaum[m]> c_wraith: do you have some example of what "something going on that's blocking GC" may mean. This program is mostly a `mapConcurrently` from `async` with something like 1000 tasks, on 60 cores.
20:49:46 <c_wraith> typically, a thread that runs for a long time without allocating.
20:52:46 zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe)
20:53:03 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
20:54:36 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
20:55:35 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
20:57:41 × NiceBird quits (~NiceBird@185.133.111.196) (Ping timeout: 250 seconds)
20:59:02 crazazy` joins (~user@130.89.171.62)
20:59:22 <tomsmeding> Guillaum[m]: if you haven't yet, try running with +RTS -qg
20:59:36 kenaryn joins (~aurele@89-88-44-27.abo.bbox.fr)
21:00:25 <tomsmeding> or perhaps -qn2, -qn3 or -qn4 or so
21:00:27 × crazazy quits (~user@130.89.171.62) (Ping timeout: 248 seconds)
21:00:42 <tomsmeding> (instead of -qg, that is)
21:01:03 × kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux)
21:01:18 × crazazy` quits (~user@130.89.171.62) (Client Quit)
21:01:25 kimiamania joins (~65804703@user/kimiamania)
21:01:31 <c_wraith> There's also the concurrent collector to try
21:01:35 <tomsmeding> though given c_wraith's diagnosis, it's not terribly likely to work
21:01:37 crazazy joins (~user@130.89.171.62)
21:02:20 <tomsmeding> (the concurrent collector is enabled with +RTS --nonmoving-gc)
21:02:34 <c_wraith> eh, still worth ruling out a parallel GC issue. those still strike, unfortunately
21:05:14 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds)
21:05:53 Guest8 joins (~Guest8@202.142.114.104)
21:06:06 × Guest8 quits (~Guest8@202.142.114.104) (Client Quit)
21:06:29 <Guillaum[m]> c_wraith: ha, that's interesting, when a thread had done enough allocation, it waits for the other thread to reach the same state, and GC is not triggered until this is the case? That's super interesting, and may explain a lot (I'm spending a lot of time in some C foreign calls, so no allocation, obivously)
21:06:50 <Guillaum[m]> tomsmeding: I'll try the -qg -gn options, thank you.
21:06:56 × lxi quits (~quassel@2a02:2f08:4706:3500:1723:d880:e55e:4cf4) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
21:07:31 <c_wraith> Guillaum[m]: not exactly that - when a thread allocates (and enough time has passed, by default) it checks to see if there's a GC in progress. If there is, it stops and waits for GC to complete.
21:08:23 Guest8 joins (~Guest8@202.142.114.104)
21:09:11 <Guillaum[m]> c_wraith: ha, intereting, it changes my mental model of the GC.
21:11:30 <c_wraith> and notably, unless you're using the new concurrent GC, the GC doesn't start until *all* threads are stopped waiting.
21:12:08 × mastarija quits (~mastarija@2a05:4f46:e03:6000:cca2:629:d477:3448) (Quit: WeeChat 3.7.1)
21:17:29 kimjetwav joins (~user@2607:fea8:235e:b600:98bd:5e68:98bc:535e)
21:21:44 nate1 joins (~nate@98.45.169.16)
21:26:11 × bhall quits (~brunohall@195.147.207.136) (Ping timeout: 265 seconds)
21:26:24 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds)
21:27:21 bhall joins (~brunohall@185.69.145.43)
21:30:50 × Guest8 quits (~Guest8@202.142.114.104) (Quit: Client closed)
21:33:20 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
21:34:46 × bhall quits (~brunohall@185.69.145.43) (Ping timeout: 276 seconds)
21:35:33 bhall joins (~brunohall@195.147.207.136)
21:38:28 Sciencentistguy8 joins (~sciencent@hacksoc/ordinary-member)
21:38:31 × michalz quits (~michalz@185.246.207.203) (Remote host closed the connection)
21:38:33 × Albina_Pavlovna quits (~Albina_Pa@047-230-050-118.res.spectrum.com) (Quit: bb)
21:39:17 Albina_Pavlovna joins (~Albina_Pa@92.223.103.137)
21:41:00 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds)
21:41:00 Sciencentistguy8 is now known as Sciencentistguy
21:43:31 × Albina_Pavlovna quits (~Albina_Pa@92.223.103.137) (Client Quit)
21:44:03 Albina_Pavlovna joins (~Albina_Pa@92.223.103.137)
21:47:51 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:48:23 × nschoe quits (~q@2a01:e0a:8e:a190:d344:fd0:3366:2fe1) (Ping timeout: 250 seconds)
21:49:52 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:50:08 × Albina_Pavlovna quits (~Albina_Pa@92.223.103.137) (Read error: Connection reset by peer)
21:50:27 × gambpang quits (~ishipman@172-6-174-68.lightspeed.cicril.sbcglobal.net) (Remote host closed the connection)
21:51:58 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
21:52:47 Albina_Pavlovna joins (~Albina_Pa@2603-7000-76f0-76e0-e5e7-4038-b6f3-1073.res6.spectrum.com)
22:00:52 × alskdf quits (~alskdf@dhcp-108-168-11-138.cable.user.start.ca) (Quit: Leaving)
22:04:44 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:08:20 × mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 260 seconds)
22:08:29 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:18:14 Maxdamantus joins (~Maxdamant@user/maxdamantus)
22:18:32 × Albina_Pavlovna quits (~Albina_Pa@2603-7000-76f0-76e0-e5e7-4038-b6f3-1073.res6.spectrum.com) (Quit: bb)
22:23:31 × crazazy quits (~user@130.89.171.62) (Ping timeout: 276 seconds)
22:40:14 × kenaryn quits (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving)
22:46:42 × gurkenglas quits (~gurkengla@dynamic-046-114-179-201.46.114.pool.telefonica.de) (Ping timeout: 255 seconds)
22:48:24 gurkenglas joins (~gurkengla@dynamic-089-204-138-080.89.204.138.pool.telefonica.de)
23:12:30 talismanick joins (~talismani@76.133.152.122)
23:13:31 mauke_ joins (~mauke@user/mauke)
23:15:46 × mauke quits (~mauke@user/mauke) (Ping timeout: 268 seconds)
23:15:47 mauke_ is now known as mauke
23:17:28 × acidjnk quits (~acidjnk@p200300d6e715c4242db31e0384394bb3.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
23:25:05 × tomboy65 quits (~tomboy64@user/tomboy64) (Ping timeout: 265 seconds)
23:26:00 tomboy65 joins (~tomboy64@user/tomboy64)
23:29:17 × trev quits (~trev@user/trev) (Remote host closed the connection)
23:31:39 × vlad quits (~vlad@2a00:23c6:9822:4c01:1574:2d21:3c47:2b80) (Quit: Leaving)
23:31:40 <jwiegley> is there a Haskell tool to recursively print out a type?
23:32:02 × zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!)
23:44:09 <EvanR> do you mean print out a value of some type
23:44:15 <jwiegley> no, the type itself
23:44:30 <jwiegley> I'm diving into a parser that a Term type with lots and lots of helper types, many of them recursive
23:44:34 <EvanR> % print (Maybe (Int, Char))
23:44:34 <yahb2> <interactive>:24:8: error: ; • Illegal term-level use of the type constructor ‘Maybe’ ; imported from ‘Prelude’ (and originally defined in ‘GHC.Maybe’) ; • In the first argument of ...
23:44:39 <jwiegley> I just want to say `:t Term` and see them all
23:45:01 <EvanR> ok that's not what I wanted to do
23:45:05 <EvanR> :t typeRep
23:45:06 <lambdabot> forall k (a :: k) (proxy :: k -> *). Typeable a => proxy a -> TypeRep
23:45:28 <EvanR> > show (typeRef (proxy :: Maybe (Int,Char)))
23:45:29 <lambdabot> error:
23:45:30 <lambdabot> • Variable not in scope: typeRef :: Maybe (Int, Char) -> a0
23:45:30 <lambdabot> • Perhaps you meant one of these:
23:45:35 <EvanR> > show (typeRep (proxy :: Maybe (Int,Char)))
23:45:36 <lambdabot> error:
23:45:36 <lambdabot> • Variable not in scope: proxy :: Maybe (Int, Char)
23:45:36 <lambdabot> • Perhaps you meant data constructor ‘Proxy’ (imported from Data.Typeable)
23:45:42 <EvanR> > show (typeRep (Proxy :: Maybe (Int,Char)))
23:45:44 <lambdabot> error:
23:45:44 <lambdabot> • Couldn't match expected type ‘Maybe (Int, Char)’
23:45:44 <lambdabot> with actual type ‘Proxy t0’
23:46:10 <EvanR> OKAY
23:46:11 <jwiegley> let me ask it another way
23:46:26 <jwiegley> I want to extract a type `Term` from a project into a file, such that it still type checks
23:47:00 <jwiegley> because I want to perform some type surgery on this term, with tests to ensure that my modifications remain isomorphic
23:48:14 <EvanR> maybe you want generics which lets you operate on types with the same structure in a uniform way, and observe the type's structure for reasons
23:48:45 <jwiegley> that doesn't really sound like what I want
23:48:55 <jwiegley> I know how to do the extraction I'm thinking of by hand, it's pretty easy enough
23:49:03 <jwiegley> but it's so purely mechanical, that it has to be automatable
23:49:12 <jwiegley> perhaps using one of the GHC parsing libraries
23:50:04 <EvanR> yeah if you are operating on actual haskell code for types, maybe haskell-src-exts
23:50:40 <EvanR> I'm not sure if checking two types for isomorphism breaks one or more laws of computer science though
23:51:45 <jwiegley> but no tool for this already? because faster than writing a utility based on src-exts will be to just copy the files and start deleting
23:52:38 <EvanR> if you have to do this manual process more than one time, it's likely writing a tool for it will eventually have productivity gains
23:54:41 <jwiegley> nope, just the once
23:55:03 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
23:55:47 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
23:55:50 <EvanR> then I daresay a combination of vim fu emacs fu or sed fu would be much faster
23:56:15 <jwiegley> the fu's have it
23:56:19 Lord_of_Life_ is now known as Lord_of_Life
23:57:03 <EvanR> I too would like to be tony stark iron man and invent holographic tangible computing for every one off task xD
23:57:41 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)

All times are in UTC on 2023-03-31.