2023/05/09

2023-05-09 00:05:30 +0000freeside(~mengwong@103.252.202.85)
2023-05-09 00:10:03 +0000freeside(~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
2023-05-09 00:10:47 +0000pyook(~puke@user/puke) (Read error: Connection reset by peer)
2023-05-09 00:10:48 +0000jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2023-05-09 00:12:13 +0000 <Inst> also, i'm trying to do FP in Python
2023-05-09 00:12:21 +0000 <Inst> my eyes are bleeding right now because all of a sudden, and this is a boon for laziness
2023-05-09 00:12:30 +0000zeenk(~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!)
2023-05-09 00:12:33 +0000 <Inst> I have to care about what order I'm doing my maps in
2023-05-09 00:17:56 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
2023-05-09 00:20:07 +0000ava[m]1(~ava2607ma@2001:470:69fc:105::3:5307)
2023-05-09 00:21:02 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-05-09 00:30:03 +0000freeside(~mengwong@103.252.202.85)
2023-05-09 00:34:33 +0000erisco(~erisco@d24-141-66-165.home.cgocable.net)
2023-05-09 00:34:43 +0000freeside(~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
2023-05-09 00:38:21 +0000_leo___(~emmanuelu@user/emmanuelux)
2023-05-09 00:40:29 +0000emmanuelux_(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2023-05-09 00:47:09 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds)
2023-05-09 00:48:17 +0000pavonia(~user@user/siracusa)
2023-05-09 00:50:32 +0000mmhat(~mmh@p200300f1c706684eee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
2023-05-09 00:56:11 +0000freeside(~mengwong@103.252.202.85)
2023-05-09 01:00:45 +0000freeside(~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
2023-05-09 01:01:31 +0000tanyastopguy(~username@2600:1700:4010:6d20:3aea:f984:552:57de) (Remote host closed the connection)
2023-05-09 01:04:40 +0000johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-05-09 01:05:12 +0000johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-05-09 01:05:50 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-05-09 01:10:33 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-09 01:16:40 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-09 01:18:30 +0000_leo___(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2023-05-09 01:19:27 +0000_leo___(~emmanuelu@user/emmanuelux)
2023-05-09 01:20:25 +0000p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Ping timeout: 260 seconds)
2023-05-09 01:20:35 +0000xff0x(~xff0x@2405:6580:b080:900:7ba2:121c:2a4c:a692) (Ping timeout: 256 seconds)
2023-05-09 01:21:15 +0000p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
2023-05-09 01:28:02 +0000freeside(~mengwong@103.252.202.85)
2023-05-09 01:29:19 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-09 01:33:37 +0000freeside(~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
2023-05-09 01:34:32 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9)
2023-05-09 01:37:19 +0000learner-monad(~ehanneken@user/learner-monad) (Ping timeout: 260 seconds)
2023-05-09 01:38:53 +0000pyook(~puke@user/puke)
2023-05-09 01:39:05 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 260 seconds)
2023-05-09 01:45:45 +0000waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2023-05-09 01:46:08 +0000freeside1(~mengwong@103.252.202.85) (Ping timeout: 240 seconds)
2023-05-09 01:56:05 +0000ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-05-09 01:58:54 +0000ec(~ec@gateway/tor-sasl/ec)
2023-05-09 01:59:49 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-05-09 02:01:37 +0000_leo___(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-05-09 02:03:56 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-05-09 02:03:56 +0000finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-05-09 02:03:56 +0000finn_elijaFinnElija
2023-05-09 02:12:20 +0000Albina_Pavlovna(~Albina_Pa@2603-7000-76f0-76e0-f453-5744-a112-fdd6.res6.spectrum.com)
2023-05-09 02:13:31 +0000merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-09 02:15:26 +0000nate2(~nate@98.45.169.16)
2023-05-09 02:18:23 +0000merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2023-05-09 02:19:59 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 02:21:16 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-05-09 02:21:25 +0000tanyastopguy(~tanyastop@2600:1700:4010:6d20:3aea:f984:552:57de)
2023-05-09 02:21:52 +0000td_(~td@i53870906.versanet.de) (Ping timeout: 250 seconds)
2023-05-09 02:23:37 +0000td_(~td@i53870936.versanet.de)
2023-05-09 02:25:56 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 02:27:34 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 02:28:31 +0000Me-me(~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Changing host)
2023-05-09 02:28:31 +0000Me-me(~me-me@user/me-me)
2023-05-09 02:29:36 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 02:33:45 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 02:34:58 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 02:35:32 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9)
2023-05-09 02:36:31 +0000p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Ping timeout: 256 seconds)
2023-05-09 02:38:07 +0000p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
2023-05-09 02:42:25 +0000terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-05-09 02:43:40 +0000Albina_Pavlovna(~Albina_Pa@2603-7000-76f0-76e0-f453-5744-a112-fdd6.res6.spectrum.com) (Quit: ZZZzzz…)
2023-05-09 02:43:57 +0000terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-05-09 02:48:25 +0000dsrt^(~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) (Read error: Connection reset by peer)
2023-05-09 02:49:20 +0000dsrt^(~dsrt@c-76-105-96-13.hsd1.ga.comcast.net)
2023-05-09 03:01:36 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 03:02:00 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-09 03:02:22 +0000nick4(~nick@2600:8807:9103:b700:d8e6:a031:6c5c:b040)
2023-05-09 03:02:27 +0000slack1256(~slack1256@181.42.51.157)
2023-05-09 03:04:38 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 03:06:48 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 03:10:08 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-09 03:11:04 +0000goodtimeswithtom(~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de)
2023-05-09 03:14:22 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 03:14:41 +0000jero98772(~jero98772@2800:484:1d84:9000::2) (Remote host closed the connection)
2023-05-09 03:16:03 +0000Albina_Pavlovna(~Albina_Pa@047-230-050-118.res.spectrum.com)
2023-05-09 03:16:09 +0000Albina_Pavlovna(~Albina_Pa@047-230-050-118.res.spectrum.com) (Client Quit)
2023-05-09 03:16:48 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-05-09 03:17:41 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 03:19:22 +0000nate2(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2023-05-09 03:20:09 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 03:22:08 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 248 seconds)
2023-05-09 03:22:31 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 03:27:28 +0000goodtimeswithtom(~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de) (Quit: Client closed)
2023-05-09 03:28:01 +0000Guest4444(~Guest44@101.78.229.4)
2023-05-09 03:28:19 +0000Guest4444ycli
2023-05-09 03:30:13 +0000ycli(~Guest44@101.78.229.4) (Client Quit)
2023-05-09 03:30:18 +0000gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
2023-05-09 03:30:36 +0000gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2023-05-09 03:31:20 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-05-09 03:34:20 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 03:35:32 +0000goodtimeswithtom(~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de)
2023-05-09 03:36:12 +0000shailangsa(~shailangs@host86-186-136-24.range86-186.btcentralplus.com)
2023-05-09 03:36:27 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 03:42:25 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-09 03:42:25 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 03:50:55 +0000rf(~rf@2605:59c8:179c:f610:3bd2:4ecb:9b16:aa4f) (Ping timeout: 260 seconds)
2023-05-09 03:54:41 +0000goodtimeswithtom(~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de) (Quit: Client closed)
2023-05-09 03:57:01 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 04:01:39 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 265 seconds)
2023-05-09 04:06:26 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 04:07:28 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-09 04:11:04 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 250 seconds)
2023-05-09 04:15:17 +0000notzmv(~zmv@user/notzmv)
2023-05-09 04:20:37 +0000mbuf(~Shakthi@49.207.178.186)
2023-05-09 04:27:28 +0000nick4(~nick@2600:8807:9103:b700:d8e6:a031:6c5c:b040) (Ping timeout: 240 seconds)
2023-05-09 04:28:49 +0000cheater(~Username@user/cheater) (Remote host closed the connection)
2023-05-09 04:30:45 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 04:34:38 +0000cheater(~Username@user/cheater)
2023-05-09 04:35:50 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds)
2023-05-09 04:36:42 +0000cheater_(~Username@user/cheater)
2023-05-09 04:39:13 +0000cheater(~Username@user/cheater) (Ping timeout: 250 seconds)
2023-05-09 04:39:18 +0000cheater_cheater
2023-05-09 04:41:41 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 04:46:00 +0000zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2023-05-09 04:46:19 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 04:48:06 +0000zaquest(~notzaques@5.130.79.72)
2023-05-09 04:51:56 +0000califax_(~califax@user/califx)
2023-05-09 04:52:27 +0000gehmehgeh(~user@user/gehmehgeh)
2023-05-09 04:52:48 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2023-05-09 04:54:08 +0000califax(~califax@user/califx) (Ping timeout: 240 seconds)
2023-05-09 04:54:08 +0000califax_califax
2023-05-09 05:04:57 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 05:08:18 +0000bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-05-09 05:09:20 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 248 seconds)
2023-05-09 05:15:45 +0000michalz(~michalz@185.246.207.218)
2023-05-09 05:22:08 +0000slack1256(~slack1256@181.42.51.157) (Remote host closed the connection)
2023-05-09 05:22:48 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2023-05-09 05:29:07 +0000trev(~trev@user/trev)
2023-05-09 05:38:08 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-05-09 05:44:05 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 05:45:56 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 05:48:07 +0000harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-05-09 05:52:49 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 265 seconds)
2023-05-09 05:54:00 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 05:54:09 +0000chomwitt(~chomwitt@2a02:587:7a14:af00:9080:176a:ae9d:81cc)
2023-05-09 05:56:04 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 05:58:15 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 06:00:47 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 264 seconds)
2023-05-09 06:01:17 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 06:04:11 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 06:04:38 +0000monochrom(trebla@216.138.220.146) (Ping timeout: 268 seconds)
2023-05-09 06:07:23 +0000monochrom(trebla@216.138.220.146)
2023-05-09 06:08:54 +0000bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-05-09 06:08:57 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 06:08:59 +0000titibandit(~titibandi@user/titibandit)
2023-05-09 06:10:09 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 06:26:02 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-09 06:36:37 +0000falafel(~falafel@2603-8000-d700-115c-6069-6909-c684-7d8e.res6.spectrum.com)
2023-05-09 06:38:25 +0000 <jade[m]1> haha
2023-05-09 06:39:13 +0000falafel(~falafel@2603-8000-d700-115c-6069-6909-c684-7d8e.res6.spectrum.com) (Remote host closed the connection)
2023-05-09 06:40:03 +0000iteratee(~kyle@162.218.222.207) (Read error: Connection reset by peer)
2023-05-09 06:40:09 +0000falafel(~falafel@2603-8000-d700-115c-6069-6909-c684-7d8e.res6.spectrum.com)
2023-05-09 06:40:50 +0000titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-09 06:43:30 +0000freeside(~mengwong@202.161.55.11)
2023-05-09 06:43:49 +0000iteratee(~kyle@162.218.222.207)
2023-05-09 06:45:17 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 06:46:41 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 06:47:44 +0000wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-09 06:49:24 +0000acidjnk(~acidjnk@p200300d6e7072f24c1846b175da7e4e4.dip0.t-ipconnect.de)
2023-05-09 06:51:30 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds)
2023-05-09 06:51:55 +0000wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-05-09 06:52:18 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 265 seconds)
2023-05-09 06:54:30 +0000oo_miguel(~Thunderbi@77.252.47.78)
2023-05-09 07:00:35 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 256 seconds)
2023-05-09 07:13:28 +0000 <chreekat> I think it's nice that I don't have to reason about evaluation order. I don't think that's just thanks to purity. The function that's nice to write is also the function that solves the business needs in most circumstances. But I do think learning to deal with space leaks needs to happen a lot sooner in Haskell education. If we raised the overall level of understanding (and tooling), it wouldn't be any worse than other practical, unavoidable
2023-05-09 07:13:28 +0000 <chreekat> problems in computer engineering
2023-05-09 07:16:13 +0000nate2(~nate@98.45.169.16)
2023-05-09 07:17:53 +0000 <Athas> Well sure, all tools have problems. I will say that space leaks have some subtleties that make them worse than the equivalent in your bog standard strict language.
2023-05-09 07:18:50 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 07:18:57 +0000 <maralorn> Yeah, I'd agree that laziness would be clearly superior if space leaks weren't a problem. I remember Edsko saying that 50% of welltypeds consulting work is fixing space leaks.
2023-05-09 07:20:14 +0000 <maralorn> So it definitely is a trade off.
2023-05-09 07:20:54 +0000 <Athas> I wonder how often an enterprise Java consultancy is hired to fix null pointer exceptions.
2023-05-09 07:21:07 +0000 <Athas> Or, uh, malformed XML? I really have no idea what the problems are in that space.
2023-05-09 07:21:15 +0000nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2023-05-09 07:22:03 +0000harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-05-09 07:23:10 +0000 <maralorn> A good C programmer has to be a memory safety wizard a good Haskell programmer has to be a memory efficiency wizard...
2023-05-09 07:23:35 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 260 seconds)
2023-05-09 07:24:36 +0000 <jade[m]1> I feel like the problem with space leaks is that you won't notice unless you monitor it
2023-05-09 07:24:36 +0000 <maralorn> But yeah that's why we should really focus on teaching people stuff like nothunk, strict data types and memory profiling.
2023-05-09 07:24:41 +0000CiaoSen(~Jura@dynamic-046-114-219-059.46.114.pool.telefonica.de)
2023-05-09 07:25:31 +0000 <c_wraith> I still think it should be easy to design tooling to warn people when they're doing something foolish, because I can tell immediately when I look at code if it was written by someone who understood laziness or not.
2023-05-09 07:25:40 +0000 <jade[m]1> jade[m]1: so you have to know about it to even suspect there might be space leaks
2023-05-09 07:25:52 +0000 <c_wraith> But whenever I try to hammer out exactly what the rules are, it's hard.
2023-05-09 07:26:00 +0000 <jade[m]1> mhm
2023-05-09 07:26:04 +0000mncheck(~mncheck@193.224.205.254)
2023-05-09 07:26:37 +0000mc47(~mc47@xmonad/TheMC47)
2023-05-09 07:26:38 +0000 <c_wraith> but like... strict data? ugh. I get so sick of libraries fobbing their work off on me like that.
2023-05-09 07:27:20 +0000 <Athas> Memory safety is obviously a huge problem in C, but there are tools (Valgrind, ASAN) that can detect problems when they occur. In Haskell, a "space leak" cannot be rigorously defined, so tooling is difficult to construct.
2023-05-09 07:27:34 +0000ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2023-05-09 07:27:37 +0000 <Athas> Detonating the program whenever a thunk is created is obviously not useful.
2023-05-09 07:28:51 +0000 <jade[m]1> what are some resources that one can read to get better in working with laziness and avoiding space leaks?
2023-05-09 07:28:51 +0000 <jade[m]1> Or is it more experience and intuition?
2023-05-09 07:29:43 +0000 <maralorn> c_wraith: What do you mean with fobbing work onto you?
2023-05-09 07:30:17 +0000ubert(~Thunderbi@p200300ecdf42c686843d6adf8e2b9083.dip0.t-ipconnect.de)
2023-05-09 07:30:33 +0000 <c_wraith> maralorn: I mean I'm tired of libraries adding too much strictness and breaking my correct use of their correct laziness. The developers could have just written correct code instead.
2023-05-09 07:30:51 +0000 <chreekat> jade: I think if you use heap profiling and eventlog2html a couple times you'll already be ahead of the curve
2023-05-09 07:31:05 +0000 <Athas> I too often wish that other people wrote correct code all the time.
2023-05-09 07:31:14 +0000zeenk(~zeenk@2a02:2f04:a105:f00::7fe)
2023-05-09 07:31:17 +0000 <sm> jade: there have been one or two good guides written .. possobly searching the haskell reddit will find them
2023-05-09 07:31:31 +0000 <c_wraith> jade[m]1: this is the most important one: https://apfelmus.nfshost.com/blog/2013/08/21-space-invariants.html
2023-05-09 07:31:39 +0000 <chreekat> The trouble is that I had to stop and try to remember the name of eventlog2html, and I don't entirely remember how to enable heap profiling, and I'm not sure if there aren't better tools. ghc-debug is getting more useful
2023-05-09 07:31:56 +0000 <chreekat> These are the seemingly-simple things we could do to actually make space leaks less daunting
2023-05-09 07:33:35 +0000merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl)
2023-05-09 07:37:10 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-09 07:45:40 +0000ubert(~Thunderbi@p200300ecdf42c686843d6adf8e2b9083.dip0.t-ipconnect.de) (Quit: ubert)
2023-05-09 07:46:57 +0000 <jade[m]1> <c_wraith> "jade: this is the most important..." <- Thank you very much, that was an interesting read. I need to think about some of the stuff presented in more depth though.
2023-05-09 07:46:57 +0000 <jade[m]1> What gave me a very interesting insight is the reason that `seq` takes two values, in a sense that it's linking them and _not_ "evaluating" one of them
2023-05-09 07:47:47 +0000cfricke(~cfricke@user/cfricke)
2023-05-09 07:48:22 +0000 <c_wraith> yeah, that's incredibly important to understand.
2023-05-09 07:50:21 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:6722:77f:2791:a818)
2023-05-09 07:52:51 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 07:54:11 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-05-09 07:58:08 +0000titibandit(~titibandi@user/titibandit)
2023-05-09 07:58:20 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-05-09 08:00:05 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2023-05-09 08:04:51 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
2023-05-09 08:05:18 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-05-09 08:07:28 +0000hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
2023-05-09 08:07:29 +0000 <maralorn> The article says any implementation of lookup of the form lookup key container = container `seq` ... fulfills the strictness property ∀ key. (lookup key container = ⊥ → container = ⊥)
2023-05-09 08:07:39 +0000 <maralorn> I don't see it.
2023-05-09 08:08:48 +0000 <maralorn> Which means I am not sure I understand the difference between space invariants and strictness.
2023-05-09 08:09:46 +0000MajorBiscuit(~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040)
2023-05-09 08:10:10 +0000 <maralorn> Isn't a is in WHNF implies b is in WHNF equivalent to b is bottom implies a is bottom?
2023-05-09 08:10:16 +0000dontdieych(~alarm@132.226.169.184)
2023-05-09 08:10:19 +0000falafel(~falafel@2603-8000-d700-115c-6069-6909-c684-7d8e.res6.spectrum.com) (Ping timeout: 248 seconds)
2023-05-09 08:11:04 +0000ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com)
2023-05-09 08:11:25 +0000 <maralorn> Well, yeah I am not convinced either in the abstract. Still wonder if it is true enough under reasonable assumptions.
2023-05-09 08:14:12 +0000MajorBiscuit(~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) (Client Quit)
2023-05-09 08:14:16 +0000 <[Leary]> maralorn: Maybe the bracketing is wrong? (forall key. lookup key container = _|_) ==> container = _|_
2023-05-09 08:15:33 +0000MajorBiscuit(~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040)
2023-05-09 08:15:46 +0000 <maralorn> [Leary]: That's a much less interesting property.
2023-05-09 08:17:58 +0000 <maralorn> c_wraith: It seems to me the article is saying that space invariants are a good solution. Making data types strict is introducing a space invariant. So why don't you like it when libraries do that?
2023-05-09 08:18:45 +0000hugo(znc@verdigris.lysator.liu.se)
2023-05-09 08:19:42 +0000MajorBiscuit(~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) (Client Quit)
2023-05-09 08:20:17 +0000zeenk(~zeenk@2a02:2f04:a105:f00::7fe) (Remote host closed the connection)
2023-05-09 08:20:20 +0000MajorBiscuit(~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040)
2023-05-09 08:20:40 +0000zeenk(~zeenk@2a02:2f04:a105:f00::fba)
2023-05-09 08:22:41 +0000gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2023-05-09 08:24:08 +0000pharonix71(~pharonix7@user/pharonix71) (Ping timeout: 240 seconds)
2023-05-09 08:24:14 +0000 <c_wraith> maralorn: because it's usually the wrong space invariant in libraries. A library shouldn't assume it knows better than its user about when the user is allowed to tie knots. So I'd prefer have the space invariants be on the functions, not the data structure itself. Let users use Haskell.
2023-05-09 08:24:40 +0000pharonix71(~pharonix7@user/pharonix71)
2023-05-09 08:24:40 +0000 <maralorn> I see.
2023-05-09 08:25:28 +0000 <c_wraith> About the only time I want the data structure itself to own the strictness is in cases where you want to take advantage of unpacking small fields.
2023-05-09 08:26:35 +0000 <maralorn> Does the same apply for application code? I decided to make my longrunning state leak safe by making the datatype completely strict. Do you think it would be better to carefully make all functions on the state strict?
2023-05-09 08:28:48 +0000 <c_wraith> better? absolutely. I think basically every definition have its space invariants documented. Now, in the real world... If you've already got a lot of code, I'd totally understand if retrofitting existing code is more work than it's worth
2023-05-09 08:29:08 +0000 <merijn> maralorn: I think it is best to make concious decisions about strict vs lazy
2023-05-09 08:29:12 +0000 <fbytez> What's the typical method to convert a ByteString to a String?
2023-05-09 08:29:36 +0000 <merijn> fbytez: Well, the typical method is to not, because you typically convert to Text
2023-05-09 08:29:51 +0000 <merijn> fbytez: Although going from Text to String is trivial if it's really required
2023-05-09 08:30:36 +0000 <tomsmeding> (there is a direct route via https://hackage.haskell.org/package/utf8-string , but composing Data.Text.unpack and Data.Text.Encoding.decode* is probably not worse)
2023-05-09 08:30:39 +0000mmhat(~mmh@p200300f1c706684eee086bfffe095315.dip0.t-ipconnect.de)
2023-05-09 08:30:39 +0000 <merijn> maralorn: if, for example, your state is relatively small then making everything strict to force it to be small is the way to go, yes
2023-05-09 08:31:17 +0000 <maralorn> c_wraith: The expected pay off would be a bit more performance?
2023-05-09 08:31:38 +0000 <maralorn> merijn: My state is sadly frightingly big.
2023-05-09 08:31:51 +0000 <maralorn> 10MB or so.
2023-05-09 08:32:37 +0000 <c_wraith> I wouldn't expect it to perform better to have explicit space invariants unless you're in a very weird case. I'd just expect the behavior to be more... explicit.
2023-05-09 08:34:34 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 08:35:04 +0000mmhat(~mmh@p200300f1c706684eee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-05-09 08:35:08 +0000pharonix71(~pharonix7@user/pharonix71) (Remote host closed the connection)
2023-05-09 08:37:28 +0000 <fbytez> tomsmeding, merijn, Thanks.
2023-05-09 08:37:31 +0000pharonix71(~pharonix7@user/pharonix71)
2023-05-09 08:38:23 +0000 <merijn> fbytez: Data.Text.Encoding from text has decoders for UTF-8/16/32
2023-05-09 08:39:11 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 08:40:31 +0000michalz(~michalz@185.246.207.218) (Remote host closed the connection)
2023-05-09 08:42:33 +0000MasseR46(thelounge@2001:bc8:62c:1e19::1)
2023-05-09 08:42:47 +0000chomwitt(~chomwitt@2a02:587:7a14:af00:9080:176a:ae9d:81cc) (Ping timeout: 264 seconds)
2023-05-09 08:44:33 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 08:46:16 +0000michalz(~michalz@185.246.207.205)
2023-05-09 08:48:49 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 250 seconds)
2023-05-09 08:56:49 +0000michalz(~michalz@185.246.207.205) (Remote host closed the connection)
2023-05-09 08:58:42 +0000ubert(~Thunderbi@2a02:8109:abc0:6434:81f:756b:c2fe:5d83)
2023-05-09 08:59:32 +0000use-value(~Thunderbi@2a00:23c6:8a03:2f01:4165:ceb6:19a8:1e1e)
2023-05-09 09:01:26 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Remote host closed the connection)
2023-05-09 09:05:48 +0000michalz(~michalz@185.246.207.197)
2023-05-09 09:07:23 +0000pharonix71(~pharonix7@user/pharonix71) (Remote host closed the connection)
2023-05-09 09:07:55 +0000pharonix71(~pharonix7@user/pharonix71)
2023-05-09 09:09:13 +0000shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 256 seconds)
2023-05-09 09:09:48 +0000notzmv(~zmv@user/notzmv)
2023-05-09 09:17:05 +0000mei(~mei@user/mei) (Ping timeout: 240 seconds)
2023-05-09 09:17:06 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-05-09 09:17:24 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2023-05-09 09:26:41 +0000__monty__(~toonn@user/toonn)
2023-05-09 09:28:33 +0000pharonix71(~pharonix7@user/pharonix71) (Remote host closed the connection)
2023-05-09 09:28:59 +0000pharonix71(~pharonix7@user/pharonix71)
2023-05-09 09:46:10 +0000L29Ah(~L29Ah@wikipedia/L29Ah)
2023-05-09 09:48:48 +0000titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-09 09:52:10 +0000 <maralorn> c_wraith: I wondered mainly whether it performs better than using strict datatypes.
2023-05-09 09:53:38 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 09:53:48 +0000 <maralorn> Which have the nice property of enforcing space invariants on the type level.
2023-05-09 09:54:02 +0000chomwitt(~chomwitt@ppp-94-67-206-188.home.otenet.gr)
2023-05-09 09:56:04 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 09:57:45 +0000 <maralorn> I am still quite confused about the performance implications of laziness because people say laziness is great for performance, which makes total sense if it avoids unnecessary computation or helps keeping the memory footprint low, but in situations where those two don't apply it is my impression that ghc does a lot of strictness analysis and thus can make code faster if it is stricter?
2023-05-09 09:57:48 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-09 10:00:28 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 10:01:32 +0000 <geekosaur> the "faster if stricter" aspect mostly comes from using unboxed values where possible, thereby avoiding a pointer indirection per access
2023-05-09 10:01:51 +0000eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-05-09 10:01:56 +0000 <geekosaur> laziness operates in the large, strictness in the small
2023-05-09 10:05:44 +0000zer0bitz_(~zer0bitz@2001:2003:f443:d600:cc73:5fe2:e3b9:4425)
2023-05-09 10:06:36 +0000eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2023-05-09 10:07:01 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds)
2023-05-09 10:07:35 +0000zer0bitz(~zer0bitz@2001:2003:f443:d600:14e6:e58c:1d60:2677) (Ping timeout: 256 seconds)
2023-05-09 10:09:17 +0000ddellacosta(~ddellacos@146.70.185.10) (Ping timeout: 256 seconds)
2023-05-09 10:09:18 +0000chele(~chele@user/chele)
2023-05-09 10:11:24 +0000ddellacosta(~ddellacos@146.70.166.177)
2023-05-09 10:16:07 +0000maroloccio(~marolocci@90.167.166.125)
2023-05-09 10:19:41 +0000 <maralorn> Makes sense.
2023-05-09 10:21:09 +0000 <maralorn> So the recommendation I’d expect is "it depends" what I often hear is "don’t sacrifice laziness"
2023-05-09 10:22:50 +0000 <[exa]> "it depends" mostly on what the compiler is able to assume as a safely&usefully strict operation
2023-05-09 10:23:06 +0000 <geekosaur> right. the recommendation I most hear is "examine the core"
2023-05-09 10:24:10 +0000 <geekosaur> of course that's not especially convenient
2023-05-09 10:24:17 +0000ft(~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
2023-05-09 10:24:31 +0000 <geekosaur> since core is kinda its own language and requires some experience to understand
2023-05-09 10:25:50 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2023-05-09 10:26:44 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 10:26:52 +0000 <maralorn> I mean that’s why I love the "use strict datatypes" approach. You have all the guarantees you need on the type level.
2023-05-09 10:28:12 +0000 <maralorn> Inspecting the core seems tedious even if you are good at it. A large code base has a lot of core. "Read the assembler if you want to be sure your C code is good" seems quite annoying. There have to be shortcuts and heuristics to circumvent that in most situations.
2023-05-09 10:29:53 +0000 <[exa]> I wish we had something that just annotated the code with "this has generated 4321 thunks that have been evaluated 1234 times"
2023-05-09 10:31:12 +0000 <[exa]> anyway the strict datatypes by default often kinda defeat the purpose of laziness; you are often better off with just inserting a few deepseq's into the pipeline
2023-05-09 10:31:23 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2023-05-09 10:34:22 +0000 <maralorn> [exa]: That’s a nice heuristic. Although in the case of my program it was a grave mistake. As I said I have 10MB of state and I called deepseq on it 1 million times, (once after each state transition).
2023-05-09 10:34:59 +0000maroloccio(~marolocci@90.167.166.125) (Quit: WeeChat 3.7.1)
2023-05-09 10:35:24 +0000 <maralorn> Otoh batching state transitions and only deepseqing after lets say a few hundred sounds like a lot of small space leaks instead of one big one.
2023-05-09 10:36:17 +0000 <maralorn> Also if only a small part of the state changes with every transition, then deepseqing everything is probably duplicating work.
2023-05-09 10:40:46 +0000 <[exa]> yeah doing deepseq too much is probably not a good usecase
2023-05-09 10:48:00 +0000wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-09 10:48:04 +0000Feuermagier(~Feuermagi@user/feuermagier)
2023-05-09 10:51:11 +0000CiaoSen(~Jura@dynamic-046-114-219-059.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2023-05-09 10:52:16 +0000wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-05-09 10:55:55 +0000mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-05-09 11:00:28 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 11:05:04 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 248 seconds)
2023-05-09 11:05:41 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 11:05:59 +0000gurkenglas(~gurkengla@dynamic-089-204-139-070.89.204.139.pool.telefonica.de)
2023-05-09 11:08:04 +0000xff0x(~xff0x@2405:6580:b080:900:df5d:59c:37fd:3926)
2023-05-09 11:10:30 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 11:11:47 +0000 <Athas> Sweet, cabal-install 3.10 finally made it into Nixpkgs master.
2023-05-09 11:11:57 +0000 <Athas> Now I no longer need to use a locally installed one to get XDG support.
2023-05-09 11:13:55 +0000marinelli(~weechat@gateway/tor-sasl/marinelli)
2023-05-09 11:17:43 +0000nate2(~nate@98.45.169.16)
2023-05-09 11:19:13 +0000 <maralorn> Athas: Afaict cabal-install has been on nixpkgs master since March 30th, 2 weeks after it got released to hackage.
2023-05-09 11:20:10 +0000 <maralorn> *cabal-install 3.10
2023-05-09 11:21:41 +0000nschoe(~q@82-65-202-30.subs.proxad.net)
2023-05-09 11:22:56 +0000nate2(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2023-05-09 11:26:35 +0000nschoe(~q@82-65-202-30.subs.proxad.net) (Ping timeout: 256 seconds)
2023-05-09 11:26:53 +0000nschoe(~q@2a01:e0a:8e:a190:73b5:77b:3a08:becb)
2023-05-09 11:29:03 +0000 <Athas> Right, but I'm on... uh, whatever the 'nixpkgs' channel is called.
2023-05-09 11:29:13 +0000__monty__(~toonn@user/toonn) (Ping timeout: 265 seconds)
2023-05-09 11:29:25 +0000 <Athas> Wait no, nixos-unstable.
2023-05-09 11:30:55 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 11:32:29 +0000gurkenglas(~gurkengla@dynamic-089-204-139-070.89.204.139.pool.telefonica.de) (Ping timeout: 246 seconds)
2023-05-09 11:35:39 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 11:39:34 +0000gurkenglas(~gurkengla@dynamic-089-204-139-070.89.204.139.pool.telefonica.de)
2023-05-09 11:39:44 +0000 <maralorn> Well that normally lags about 3 days behind master. I mean I am happy that you are happy. Just wanted to remark that the "finally" happened a bit earlier than you noticed.
2023-05-09 11:42:17 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 11:54:42 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 11:56:38 +0000titibandit(~titibandi@user/titibandit)
2023-05-09 11:56:47 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-09 11:57:23 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 11:59:15 +0000kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-05-09 11:59:22 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-09 11:59:34 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 12:00:12 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-09 12:00:19 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 260 seconds)
2023-05-09 12:10:46 +0000vulfe(~vulfe@168.91.196.163)
2023-05-09 12:11:02 +0000vulfe(~vulfe@168.91.196.163) (Remote host closed the connection)
2023-05-09 12:11:15 +0000vulfe(~vulfe@168.91.196.163)
2023-05-09 12:14:12 +0000freeside(~mengwong@202.161.55.11) (Ping timeout: 265 seconds)
2023-05-09 12:18:22 +0000jargon(~jargon@184.101.78.160) (Remote host closed the connection)
2023-05-09 12:22:06 +0000waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-05-09 12:26:28 +0000pyook(~puke@user/puke) (Remote host closed the connection)
2023-05-09 12:26:45 +0000pyook(~puke@user/puke)
2023-05-09 12:27:06 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-05-09 12:32:31 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 12:36:48 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 248 seconds)
2023-05-09 12:37:20 +0000notzmv(~zmv@user/notzmv)
2023-05-09 12:52:58 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-05-09 12:54:49 +0000elain4(~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a)
2023-05-09 12:56:18 +0000cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-05-09 12:58:50 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 12:58:56 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 13:04:57 +0000nschoe(~q@2a01:e0a:8e:a190:73b5:77b:3a08:becb) (Ping timeout: 256 seconds)
2023-05-09 13:07:05 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 13:11:11 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 13:13:51 +0000elain4(~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-05-09 13:16:33 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 265 seconds)
2023-05-09 13:20:43 +0000acidjnk(~acidjnk@p200300d6e7072f24c1846b175da7e4e4.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-05-09 13:20:49 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 13:21:14 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2023-05-09 13:24:01 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-09 13:24:10 +0000JScript2(~JScript@cpe-172-193-181-254.qld.foxtel.net.au)
2023-05-09 13:24:21 +0000 <JScript2> how do i update base
2023-05-09 13:25:08 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 13:26:05 +0000 <JScript2> cabal install base --lib base
2023-05-09 13:26:05 +0000 <JScript2> Resolving dependencies...
2023-05-09 13:26:05 +0000 <JScript2> Up to date
2023-05-09 13:26:45 +0000alexherbo2(~alexherbo@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net)
2023-05-09 13:26:47 +0000 <merijn> JScript2: You don't
2023-05-09 13:26:52 +0000 <merijn> JScript2: base is tied into GHC
2023-05-09 13:27:10 +0000 <merijn> So you can only update it by switching to a newer compiler
2023-05-09 13:27:22 +0000elain4(~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a)
2023-05-09 13:27:53 +0000taupiqueur2(~taupiqueu@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net)
2023-05-09 13:28:50 +0000 <JScript2> The Glorious Glasgow Haskell Compilation System, version 9.2.7
2023-05-09 13:29:11 +0000taupiqueur2(~taupiqueu@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) (Client Quit)
2023-05-09 13:29:12 +0000 <JScript2> rejecting: base-4.16.4.0/installed-4.16.4.0 (conflict: darcs => base>=4.10 && <4.16)
2023-05-09 13:30:05 +0000taupiqueur1(~taupiqueu@2a02-842a-8180-4601-64af-550d-b7f1-261b.rev.sfr.net) (Ping timeout: 246 seconds)
2023-05-09 13:30:24 +0000 <merijn> darcs requires based older than 4.16, and 9.2 ships with 4.16, so you either downgrade to 8.10 or 9.0 or, alternatively, you could build darcs with "--allow-newer=base" and cross your fingers that works
2023-05-09 13:30:40 +0000 <JScript2> qwq
2023-05-09 13:31:34 +0000 <merijn> I mean, it probably will, I don't think there've been big changes to base recently
2023-05-09 13:37:09 +0000 <JScript2> ill try 9.0.2
2023-05-09 13:38:33 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 13:39:13 +0000alexherbo2(~alexherbo@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) (Remote host closed the connection)
2023-05-09 13:42:55 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 13:43:00 +0000 <JScript2> why tf is haskell so difficult to debug ;-;
2023-05-09 13:43:04 +0000dtman34(~dtman34@2601:447:d000:93c9:aba0:2b0:9983:9568) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2023-05-09 13:43:25 +0000dtman34(~dtman34@2601:447:d000:93c9:30e0:dc16:93:df06)
2023-05-09 13:46:17 +0000 <dminuoso> JScript2: I suppose the primary reason is lack of industry backing for improved tooling.
2023-05-09 13:46:58 +0000 <dminuoso> Debugging C is only bearable because many person years were invested into projects like gdb or lldb.
2023-05-09 13:48:47 +0000 <yushyin> at least this version mismatch is relatively obvious and straightforward
2023-05-09 13:51:23 +0000 <dminuoso> JScript2: Though to be fair, this specific problem isnt about debugging Haskell. Its about cabal-install.
2023-05-09 13:51:26 +0000merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2023-05-09 13:51:33 +0000__monty__(~toonn@user/toonn)
2023-05-09 13:51:52 +0000 <dminuoso> Which generally has very poor consideration for a pleasant user experience when emitting diagnostics.
2023-05-09 13:52:38 +0000 <dminuoso> (However, I suppose a newcomer to the language might not care to make a distinction between Haskell, and externa tooling)
2023-05-09 13:53:49 +0000merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-09 13:53:49 +0000 <Helle> oh, right, I was putting off working on some stuff as cabal was giving me a fight
2023-05-09 13:53:52 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 13:54:35 +0000 <Helle> refusing to run the autogen for PackageInfo_foo stuff, for no clear reason
2023-05-09 13:54:49 +0000 <Helle> what tools do I have to introspect cabal's reading of it's files ?
2023-05-09 13:55:17 +0000 <merijn> Helle: What's PackageInfo? Do you mean the Paths_ stuff>
2023-05-09 13:55:17 +0000 <merijn> +?
2023-05-09 13:56:20 +0000 <Helle> merijn: ah, no, and that gives me a hint at what is going on
2023-05-09 13:56:58 +0000 <merijn> Helle: Then I don't even know what PackageInfo is supposed to be in the context of cabal?
2023-05-09 13:57:12 +0000 <Helle> https://cabal.readthedocs.io/en/3.10/cabal-package.html#accessing-package-related-informations
2023-05-09 13:57:34 +0000 <Helle> I think it may be newer then the version of cabal I have
2023-05-09 13:58:02 +0000 <Helle> yep, that is exactly it
2023-05-09 13:58:05 +0000 <merijn> ah, so it's new
2023-05-09 13:58:20 +0000 <Helle> but yes, you not knowing it gave me the clue I needed, heh
2023-05-09 13:58:23 +0000 <merijn> Helle: I dunno about PackageInfo, but Paths_ has to be in autogen-modules to be generated
2023-05-09 13:58:36 +0000 <Helle> merijn: yeah, I know, it works
2023-05-09 13:58:43 +0000 <Helle> hence I was utterly confused
2023-05-09 13:59:28 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 13:59:43 +0000 <Helle> but it also does not cleanly complain about an autogen-modules it doesn't know, it will just be "cabal: can't find source for PackageInfo_test", etc, so that had me like "is it misreading the autogen, or what"
2023-05-09 14:00:03 +0000vulfe(~vulfe@168.91.196.163) (Remote host closed the connection)
2023-05-09 14:00:47 +0000 <Helle> anyway, given that even Debian is behind on it, I can't really go use it, as that forces other users of this code into a lot of headache
2023-05-09 14:01:45 +0000 <Helle> (yes, I know ghcup is not too horrendous, but still)
2023-05-09 14:02:06 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 14:02:25 +0000 <merijn> Helle: What part of it do you need?
2023-05-09 14:05:06 +0000 <Helle> no absolute need for anything, was just getting some convenience stuff going to make sure that everything output consistent info
2023-05-09 14:05:28 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9)
2023-05-09 14:07:28 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 248 seconds)
2023-05-09 14:08:22 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 14:09:04 +0000 <Helle> and PackageInfo is only in on 3.10 good to know
2023-05-09 14:09:56 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 250 seconds)
2023-05-09 14:12:31 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 250 seconds)
2023-05-09 14:12:48 +0000byte(~byte@user/byte) (Quit: Quitting...)
2023-05-09 14:13:56 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 14:13:57 +0000mncheck(~mncheck@193.224.205.254) (Read error: Connection reset by peer)
2023-05-09 14:14:12 +0000nick4(~nick@50.86.118.19)
2023-05-09 14:16:55 +0000__monty__(~toonn@user/toonn) (Ping timeout: 256 seconds)
2023-05-09 14:17:04 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 14:17:04 +0000acidjnk(~acidjnk@p200300d6e7072f242d8d66ef0fd61958.dip0.t-ipconnect.de)
2023-05-09 14:18:35 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 260 seconds)
2023-05-09 14:19:22 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:6722:77f:2791:a818) (Quit: WeeChat 2.8)
2023-05-09 14:22:58 +0000byte(~byte@user/byte)
2023-05-09 14:23:30 +0000JScript2(~JScript@cpe-172-193-181-254.qld.foxtel.net.au) ()
2023-05-09 14:24:57 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 14:29:23 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 14:30:55 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) ()
2023-05-09 14:31:18 +0000shriekingnoise(~shrieking@186.137.175.87)
2023-05-09 14:35:09 +0000zer0bitz_(~zer0bitz@2001:2003:f443:d600:cc73:5fe2:e3b9:4425) (Read error: Connection reset by peer)
2023-05-09 14:35:15 +0000__monty__(~toonn@user/toonn)
2023-05-09 14:35:34 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 14:38:58 +0000waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
2023-05-09 14:40:08 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 265 seconds)
2023-05-09 14:42:30 +0000nick4(~nick@50.86.118.19) (Ping timeout: 260 seconds)
2023-05-09 14:45:27 +0000zer0bitz(~zer0bitz@2001:2003:f443:d600:cc73:5fe2:e3b9:4425)
2023-05-09 14:48:30 +0000wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-09 14:51:23 +0000elain4(~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-05-09 14:52:25 +0000wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-05-09 14:54:54 +0000nick4(~nick@50.86.118.19)
2023-05-09 14:56:57 +0000zer0bitz(~zer0bitz@2001:2003:f443:d600:cc73:5fe2:e3b9:4425) (Changing host)
2023-05-09 14:56:57 +0000zer0bitz(~zer0bitz@user/zer0bitz)
2023-05-09 14:58:34 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-05-09 15:00:00 +0000mncheck(~mncheck@193.224.205.254)
2023-05-09 15:00:35 +0000elain4(~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a)
2023-05-09 15:02:16 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 15:03:24 +0000jtza8(~user@165.255.35.64)
2023-05-09 15:04:13 +0000nick4(~nick@50.86.118.19) (Ping timeout: 268 seconds)
2023-05-09 15:09:07 +0000 <jtza8> I'm using Aeson to encode a sum type by hand, usually Aeson starts the encoded JSON object with the "tag" key/value pair, but with "toJSON = object [ ... ]" the "contents" pair seems to move to the first slot. Is that just life, or is there a way to correct this and get consistency?
2023-05-09 15:10:34 +0000Sgeo(~Sgeo@user/sgeo)
2023-05-09 15:11:00 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 15:12:00 +0000elain4(~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) (Ping timeout: 248 seconds)
2023-05-09 15:19:13 +0000nate2(~nate@98.45.169.16)
2023-05-09 15:20:48 +0000 <[exa]> jtza8: "first slot"? do you have an example json with this?
2023-05-09 15:21:43 +0000 <[exa]> ah you refer to the order of keyval pairs in the formatted JSON?
2023-05-09 15:22:39 +0000 <ncf> https://github.com/haskell/aeson/issues/368
2023-05-09 15:23:05 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 15:23:45 +0000nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-09 15:24:21 +0000czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection)
2023-05-09 15:28:33 +0000notzmv(~zmv@user/notzmv)
2023-05-09 15:28:50 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-09 15:30:47 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 264 seconds)
2023-05-09 15:30:52 +0000jero98772(~jero98772@2800:484:1d84:9000::2)
2023-05-09 15:32:51 +0000 <gentauro> hey, long time no ask in here :) Just a question. Being used to Haskell (and other ML-syntax langs) is it even possible to write `rust` code? xD
2023-05-09 15:33:29 +0000 <gentauro> lack of curried function parameters. No lambdas. No own defined ops …
2023-05-09 15:35:03 +0000 <gentauro> and the syntax … it awakes my C++ days :-\
2023-05-09 15:35:34 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-09 15:36:22 +0000 <gentauro> however, it seems that Snoyman is really keen to the lang so there might be hope :)
2023-05-09 15:36:57 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9)
2023-05-09 15:37:13 +0000 <vulfe> Rust is great
2023-05-09 15:38:40 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-05-09 15:39:37 +0000 <vulfe> I don't think functional programming makes learning other things impossible :P
2023-05-09 15:41:17 +0000 <yushyin> gentauro: well, c++ is what it tries to compete with
2023-05-09 15:41:19 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 15:41:19 +0000048AA07W5(~mengwong@103.252.202.151)
2023-05-09 15:41:22 +0000 <gentauro> vulfe: I tried to write a "simple" parser combinator in `rust`
2023-05-09 15:41:26 +0000 <tokie> C++ is what it's replacing
2023-05-09 15:41:26 +0000 <gentauro> I couldn't xD
2023-05-09 15:41:31 +0000 <tokie> not just competing :D
2023-05-09 15:41:41 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-09 15:41:45 +0000 <tokie> gentauro: i wrote a parser combinator similar to parsec in rust!
2023-05-09 15:41:49 +0000 <gentauro> tokie: I guess that cos of the `foo::bar::…`
2023-05-09 15:41:54 +0000 <gentauro> tokie: :o
2023-05-09 15:41:59 +0000 <vulfe> Rust and Haskell actually have a lot of things in common
2023-05-09 15:42:01 +0000 <tokie> https://github.com/strtok/parcom
2023-05-09 15:42:01 +0000 <gentauro> you have it on GH or GL?
2023-05-09 15:42:14 +0000 <tokie> it is very h ard to do it in rust because of the borrow checker
2023-05-09 15:43:00 +0000 <tokie> there's a lot of limitations on lifetimes and lambdas in rust right now. hopefully that's fixed with borrow checker improvements. it does make writing a -closure based- parser combinator difficult
2023-05-09 15:43:14 +0000 <tokie> but there are other approaches to writing parser combinators that work out much better
2023-05-09 15:43:29 +0000 <tokie> https://github.com/rust-bakery/nom
2023-05-09 15:43:44 +0000 <vulfe> a solution based on closures is probably the closest philisophically to FP parser-combinators
2023-05-09 15:43:45 +0000 <yushyin> tokie: maybe someday, but languages, especially an industry standard like c++, are hard to replace
2023-05-09 15:44:11 +0000 <tokie> yushyin: yes, but we are seeing serious momentum now - microsoft just announced they're rewriting core windows libraries in rust
2023-05-09 15:44:14 +0000 <vulfe> c++ might be widely used but it also mega sucks
2023-05-09 15:44:22 +0000 <tokie> linux kernel is moving forward with rust as the second language (C++ never got there!)
2023-05-09 15:44:25 +0000 <gentauro> tokie: did you implement `<|>` (alternate) for `backtracking`?
2023-05-09 15:44:25 +0000 <vulfe> and rust does not mega suck, so it has that going for it
2023-05-09 15:44:41 +0000 <tokie> gentauro: no
2023-05-09 15:44:55 +0000CiaoSen(~Jura@dynamic-046-114-217-185.46.114.pool.telefonica.de)
2023-05-09 15:44:56 +0000 <tokie> check nom for a more complete parser combinator framework
2023-05-09 15:45:15 +0000 <gentauro> btw, new C++, I recall writing some stuff and just putting `auto` in front of the var name and problems solved xD
2023-05-09 15:45:25 +0000 <yushyin> :)
2023-05-09 15:45:36 +0000048AA07W5(~mengwong@103.252.202.151) (Ping timeout: 248 seconds)
2023-05-09 15:45:49 +0000 <tokie> gentauro: to a degree. rust's type inference is a lot more powerful than C++
2023-05-09 15:45:52 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 265 seconds)
2023-05-09 15:45:55 +0000 <gentauro> then I had an error and the "verbose" output reminded me of the `C++ generic days` and I ran away from it xD
2023-05-09 15:46:42 +0000 <yushyin> gentauro: yes, c++ is evolving too, you can't compare c++20 with c++98
2023-05-09 15:46:43 +0000 <tokie> yeah, a lot of that is usually related to how c++'s generics work - rust's generics are way less powerful than C++, since type parameters have to be bound by a trait
2023-05-09 15:46:58 +0000 <tokie> traits are based off haskell's type classes
2023-05-09 15:47:22 +0000 <gentauro> tokie: just like `scala` traits right?
2023-05-09 15:47:44 +0000 <tokie> i don't know scala, but probably? the rust team cites haskell for inspiration for traits i think?
2023-05-09 15:47:51 +0000 <tokie> https://doc.rust-lang.org/reference/influences.html
2023-05-09 15:48:23 +0000 <vulfe> bounded parametric polymorphism ftw
2023-05-09 15:48:34 +0000 <tokie> vulfe: yeah, agreed
2023-05-09 15:48:42 +0000 <vulfe> it's a really good idea
2023-05-09 15:50:12 +0000 <gentauro> tokie: thx for link. Quite interesting the mixture
2023-05-09 15:51:18 +0000 <tokie> gentauro: this is my more interesting rust project: https://github.com/strtok/marwood/
2023-05-09 15:51:36 +0000 <tokie> demo at https://www.marwood.io/
2023-05-09 15:52:04 +0000mc47(~mc47@xmonad/TheMC47)
2023-05-09 15:52:35 +0000 <yushyin> c++ tries to get their template programming under control with 'concepts'.
2023-05-09 15:52:43 +0000nick4(~nick@98.186.196.174)
2023-05-09 15:54:44 +0000 <gentauro> tokie: nice
2023-05-09 15:55:56 +0000 <gentauro> tokie: repl needs copy/past capabilities :0
2023-05-09 15:55:57 +0000 <gentauro> :)
2023-05-09 15:56:35 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-09 15:59:18 +0000 <gentauro> tokie: stuff like this -> https://github.com/strtok/marwood/blob/master/marwood/src/lex.rs is exactly what I'm looking for (to get inspired) Thx !!!
2023-05-09 16:02:42 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-09 16:03:45 +0000hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds)
2023-05-09 16:05:48 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2023-05-09 16:06:38 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 16:07:22 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-09 16:08:04 +0000dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-05-09 16:09:16 +0000 <jtza8> [exa]: Yeah, that was what I meant.
2023-05-09 16:09:59 +0000 <jtza8> ncf: Thanks.
2023-05-09 16:11:58 +0000CiaoSen(~Jura@dynamic-046-114-217-185.46.114.pool.telefonica.de) (Ping timeout: 265 seconds)
2023-05-09 16:12:05 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 16:13:40 +0000gmg(~user@user/gehmehgeh)
2023-05-09 16:14:39 +0000 <[exa]> jtza8: if it's for humans, you might like running the json through `jq -S`
2023-05-09 16:15:30 +0000 <bwe> which parser combinator library can you recommend from your personal experience because it's compact, ergonomic and powerful?
2023-05-09 16:17:49 +0000 <maerwald> just roll your own
2023-05-09 16:18:02 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 16:18:59 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 16:19:32 +0000hugo(znc@verdigris.lysator.liu.se)
2023-05-09 16:21:31 +0000ubert(~Thunderbi@2a02:8109:abc0:6434:81f:756b:c2fe:5d83) (Quit: ubert)
2023-05-09 16:22:08 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-05-09 16:23:51 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-09 16:24:02 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 246 seconds)
2023-05-09 16:25:21 +0000chele(~chele@user/chele) (Remote host closed the connection)
2023-05-09 16:27:15 +0000kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 260 seconds)
2023-05-09 16:27:40 +0000EsoAlgo8(~EsoAlgo@129.146.136.145)
2023-05-09 16:27:49 +0000hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 256 seconds)
2023-05-09 16:27:59 +0000Ekho(~Ekho@user/ekho) (Quit: CORE ERROR, SYSTEM HALTED.)
2023-05-09 16:29:50 +0000zeenk(~zeenk@2a02:2f04:a105:f00::fba) (Quit: Konversation terminated!)
2023-05-09 16:32:30 +0000 <jtza8> [exa]: It was mostly just for debugging and legibility. jq looks like a good solution though, thanks.
2023-05-09 16:38:34 +0000nick4(~nick@98.186.196.174) (Ping timeout: 268 seconds)
2023-05-09 16:38:39 +0000titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-09 16:40:06 +0000nick4(~nick@98.186.196.174)
2023-05-09 16:45:19 +0000stevenxl(uid133530@id-133530.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-05-09 16:45:52 +0000hugo(znc@verdigris.lysator.liu.se)
2023-05-09 16:46:52 +0000 <bwe> maerwald: any good tutorial for writing your own parser combinator you can recommend? I am after the dos and don'ts of writing a parser combinator.
2023-05-09 16:46:55 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-09 16:47:30 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 16:48:11 +0000mechap(~mechap@user/mechap)
2023-05-09 16:51:24 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-09 16:52:11 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2023-05-09 16:54:51 +0000czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net)
2023-05-09 16:58:07 +0000bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-05-09 16:59:46 +0000mbuf(~Shakthi@49.207.178.186) (Quit: Leaving)
2023-05-09 17:00:24 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 17:03:21 +0000evincar(~evincar@user/evincar)
2023-05-09 17:04:32 +0000freeside_(~mengwong@103.252.202.151)
2023-05-09 17:06:08 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 248 seconds)
2023-05-09 17:08:23 +0000mechap(~mechap@user/mechap) (Quit: WeeChat 3.8)
2023-05-09 17:08:30 +0000barcisz(~barcisz@79.191.229.20.ipv4.supernova.orange.pl)
2023-05-09 17:09:05 +0000freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 17:09:54 +0000mechap(~mechap@user/mechap)
2023-05-09 17:10:40 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-05-09 17:14:59 +0000titibandit(~titibandi@user/titibandit)
2023-05-09 17:15:40 +0000 <fendor[m]> my ghc 9.2.7 is segfaulting... https://paste.tomsmeding.com/4tqnf1e1 is that a known issue or more likely my pc dying?
2023-05-09 17:16:45 +0000Ekho(~Ekho@user/ekho)
2023-05-09 17:17:33 +0000 <fendor[m]> but it segfaults only sometimes
2023-05-09 17:17:33 +0000 <Hecate> fendor[m]: https://twitter.com/TechnoEmpress/status/1620818425332518913
2023-05-09 17:17:56 +0000 <Hecate> and https://gitlab.haskell.org/ghc/ghc/-/issues/19421
2023-05-09 17:18:40 +0000Angelz(Angelz@angelz.oddprotocol.org) (Ping timeout: 265 seconds)
2023-05-09 17:19:36 +0000 <fendor[m]> thanks! Didn't see that, would have expected a discourse announcement or something
2023-05-09 17:19:43 +0000 <Hecate> creating one rn
2023-05-09 17:20:25 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2023-05-09 17:20:36 +0000 <Hecate> https://discourse.haskell.org/t/facing-mmap-4096-bytes-at-nil-cannot-allocate-memory-youre-not-alo… fendor[m]
2023-05-09 17:22:05 +0000 <fendor[m]> hehe, thankyou :)
2023-05-09 17:22:07 +0000 <fendor[m]> time to upgrade to a newer ghc version
2023-05-09 17:22:34 +0000nick4(~nick@98.186.196.174) (Ping timeout: 265 seconds)
2023-05-09 17:22:49 +0000nick4(~nick@ip68-1-49-124.pn.at.cox.net)
2023-05-09 17:24:54 +0000 <geekosaur> there;s two possible problems there, one is the ghc issue, the other is a linux kernel issue (https://bbs.archlinux.org/viewtopic.php?id=282429)
2023-05-09 17:25:32 +0000 <geekosaur> both are fixed by using 9.4 because 9.4 changed how it's doing `mmap` in a way that avoids the kernel issue
2023-05-09 17:25:39 +0000MajorBiscuit(~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) (Quit: WeeChat 3.6)
2023-05-09 17:30:29 +0000 <fendor[m]> hm, at least on my machine, I have a linux kernel version that should have the fix 6.2.13-arch1-1
2023-05-09 17:31:53 +0000 <fendor[m]> ah, apparently it is not entirely fixed? ah whatever
2023-05-09 17:33:09 +0000 <geekosaur> it was fixed and then the patch was reverted in some 6.2 version and then re-added later
2023-05-09 17:33:19 +0000 <geekosaur> so you may be in the gap
2023-05-09 17:33:43 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 17:34:10 +0000 <fendor[m]> ah, thank you for the explanation!
2023-05-09 17:34:36 +0000ubert(~Thunderbi@p200300ecdf42c68668c9dcfdb6c1aa18.dip0.t-ipconnect.de)
2023-05-09 17:36:16 +0000Angelz(Angelz@Angelz.oddprotocol.org)
2023-05-09 17:37:46 +0000biberu(~biberu@user/biberu) (Ping timeout: 268 seconds)
2023-05-09 17:37:48 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-09 17:42:47 +0000biberu(~biberu@user/biberu)
2023-05-09 17:44:59 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 17:48:24 +0000 <geekosaur> yeh, I just did a logs search and you got unlucky: 6.2.13 is the first version that regressed
2023-05-09 17:49:08 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-09 17:49:30 +0000 <geekosaur> so you can either rebuild your kernel with the hotfix patch from that discussion, or you can upgrade to 9.4 and avoid it
2023-05-09 17:53:14 +0000mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-05-09 17:54:31 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 17:56:26 +0000 <tokie> gentauro: yeah! i think copy paste works on some browsers/operating systems :D
2023-05-09 17:57:20 +0000mechap(~mechap@user/mechap) (Ping timeout: 248 seconds)
2023-05-09 17:58:17 +0000 <sm> bwe: 👍🏻
2023-05-09 17:59:52 +0000mechap(~mechap@user/mechap)
2023-05-09 18:04:20 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 18:04:37 +0000mechap(~mechap@user/mechap) (Ping timeout: 265 seconds)
2023-05-09 18:06:16 +0000mechap(~mechap@user/mechap)
2023-05-09 18:06:45 +0000jtza8(~user@165.255.35.64) (Ping timeout: 268 seconds)
2023-05-09 18:08:59 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 260 seconds)
2023-05-09 18:09:39 +0000roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2023-05-09 18:11:29 +0000mechap(~mechap@user/mechap) (Ping timeout: 246 seconds)
2023-05-09 18:12:07 +0000wootehfoot(~wootehfoo@user/wootehfoot)
2023-05-09 18:12:35 +0000mechap(~mechap@user/mechap)
2023-05-09 18:13:19 +0000roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Client Quit)
2023-05-09 18:14:11 +0000notzmv(~zmv@user/notzmv)
2023-05-09 18:17:05 +0000mechap(~mechap@user/mechap) (Ping timeout: 246 seconds)
2023-05-09 18:19:42 +0000ub(~Thunderbi@p548c9371.dip0.t-ipconnect.de)
2023-05-09 18:20:48 +0000ubert(~Thunderbi@p200300ecdf42c68668c9dcfdb6c1aa18.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-05-09 18:20:48 +0000ububert
2023-05-09 18:25:39 +0000mechap(~mechap@user/mechap)
2023-05-09 18:25:41 +0000econo(uid147250@user/econo)
2023-05-09 18:27:10 +0000barcisz89(~barcisz@79.191.229.20.ipv4.supernova.orange.pl)
2023-05-09 18:29:34 +0000barcisz(~barcisz@79.191.229.20.ipv4.supernova.orange.pl) (Ping timeout: 268 seconds)
2023-05-09 18:32:06 +0000mechap(~mechap@user/mechap) (Ping timeout: 250 seconds)
2023-05-09 18:32:56 +0000mechap(~mechap@user/mechap)
2023-05-09 18:37:56 +0000mechap(~mechap@user/mechap) (Ping timeout: 265 seconds)
2023-05-09 18:39:16 +0000mechap(~mechap@user/mechap)
2023-05-09 18:40:28 +0000hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
2023-05-09 18:44:57 +0000mechap(~mechap@user/mechap) (Ping timeout: 256 seconds)
2023-05-09 18:45:35 +0000mechap(~mechap@user/mechap)
2023-05-09 18:51:30 +0000hugo(znc@verdigris.lysator.liu.se)
2023-05-09 18:54:17 +0000alexherbo2(~alexherbo@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net)
2023-05-09 18:54:35 +0000evincar(~evincar@user/evincar) (Ping timeout: 256 seconds)
2023-05-09 18:58:32 +0000 <bwe> sm: is there any better intro than https://markkarpov.com/tutorial/megaparsec.html you know of?
2023-05-09 18:58:34 +0000barcisz89(~barcisz@79.191.229.20.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-05-09 18:59:17 +0000 <sm> to parser combinators generally ?
2023-05-09 18:59:43 +0000 <jean-paul[m]> https://hackage.haskell.org/package/crypto-api-0.13.3/docs/Crypto-Types.html#t:IV says that a common way to get an IV is via its Serialize instance - but then in the instances list below, there is no Serialize instance listed. How should I interpret this?
2023-05-09 19:03:00 +0000 <sm> bwe I mainly just use them, but some of these might be useful: https://en.wikipedia.org/wiki/Parser_combinator https://serokell.io/blog/parser-combinators-in-haskell https://hasura.io/blog/parser-combinators-walkthrough/ https://parsica-php.github.io/docs/tutorial/01_introduction/ https://crypto.stanford.edu/~blynn/haskell/parse.html
2023-05-09 19:03:16 +0000euandreh(~Thunderbi@189.6.18.7) (Remote host closed the connection)
2023-05-09 19:04:48 +0000 <sm> or perhaps these: https://www.cs.nott.ac.uk/~pszgmh/monparsing.pdf https://www.cmi.ac.in/~spsuresh/teaching/prgh15/papers/monadic-parsing.pdf
2023-05-09 19:06:41 +0000 <bwe> sm: got a start :) thanks a lot.
2023-05-09 19:10:05 +0000biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2023-05-09 19:11:23 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 19:12:09 +0000trev(~trev@user/trev) (Quit: trev)
2023-05-09 19:17:15 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 260 seconds)
2023-05-09 19:17:15 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-05-09 19:20:49 +0000nate2(~nate@98.45.169.16)
2023-05-09 19:24:16 +0000evincar(~evincar@user/evincar)
2023-05-09 19:25:17 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 19:25:59 +0000nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2023-05-09 19:29:09 +0000ub(~Thunderbi@p200300ecdf42c68668c9dcfdb6c1aa18.dip0.t-ipconnect.de)
2023-05-09 19:29:12 +0000biberu(~biberu@user/biberu)
2023-05-09 19:29:23 +0000evincar(~evincar@user/evincar) (Ping timeout: 268 seconds)
2023-05-09 19:29:28 +0000ubert(~Thunderbi@p548c9371.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-05-09 19:29:28 +0000ububert
2023-05-09 19:30:27 +0000Topsi(~Topsi@host-82-135-42-158.customer.m-online.net)
2023-05-09 19:34:25 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 19:40:16 +0000Topsi(~Topsi@host-82-135-42-158.customer.m-online.net) (Quit: Leaving.)
2023-05-09 19:42:04 +0000ub(~Thunderbi@p548c9371.dip0.t-ipconnect.de)
2023-05-09 19:43:07 +0000ubert(~Thunderbi@p200300ecdf42c68668c9dcfdb6c1aa18.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-05-09 19:43:07 +0000ububert
2023-05-09 19:50:47 +0000Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-05-09 19:51:08 +0000use-value(~Thunderbi@2a00:23c6:8a03:2f01:4165:ceb6:19a8:1e1e) (Quit: use-value)
2023-05-09 19:55:10 +0000titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-09 19:56:27 +0000titibandit(~titibandi@user/titibandit)
2023-05-09 19:56:59 +0000evincar(~evincar@user/evincar)
2023-05-09 20:01:47 +0000evincar(~evincar@user/evincar) (Ping timeout: 248 seconds)
2023-05-09 20:06:26 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-05-09 20:07:02 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-05-09 20:11:10 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Remote host closed the connection)
2023-05-09 20:13:46 +0000zeenk(~zeenk@2a02:2f04:a105:f00::fba)
2023-05-09 20:15:07 +0000ddellacosta(~ddellacos@146.70.166.177) (Ping timeout: 265 seconds)
2023-05-09 20:16:43 +0000ddellacosta(~ddellacos@143.244.47.88)
2023-05-09 20:18:24 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-05-09 20:21:17 +0000nick4(~nick@ip68-1-49-124.pn.at.cox.net) (Ping timeout: 256 seconds)
2023-05-09 20:21:32 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 20:25:45 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-09 20:29:02 +0000evincar(~evincar@user/evincar)
2023-05-09 20:32:03 +0000nick4(~nick@ip68-1-49-124.pn.at.cox.net)
2023-05-09 20:33:47 +0000evincar(~evincar@user/evincar) (Ping timeout: 264 seconds)
2023-05-09 20:34:28 +0000waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-05-09 20:35:23 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-09 20:38:19 +0000titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-09 20:44:05 +0000titibandit(~titibandi@user/titibandit)
2023-05-09 20:46:35 +0000 <Inst> do you guys ever do codewars here?
2023-05-09 20:46:38 +0000 <Inst> https://www.codewars.com/kata/60ae5db1639df90055068d20/train/haskell
2023-05-09 20:47:38 +0000 <Inst> whoops, take off the train, or you'll be forced to train
2023-05-09 20:47:43 +0000 <Inst> and ruin stats, if you do do codewars
2023-05-09 20:49:43 +0000smdid https://www.codingame.com/multiplayer/clashofcode a bit.. fun
2023-05-09 20:50:39 +0000chomwitt(~chomwitt@ppp-94-67-206-188.home.otenet.gr) (Remote host closed the connection)
2023-05-09 20:53:20 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 20:55:50 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30:5d14:9417:a6bd:7661)
2023-05-09 20:56:00 +0000titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-09 20:58:11 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 20:58:43 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-05-09 20:58:46 +0000ubert(~Thunderbi@p548c9371.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-05-09 21:01:06 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-05-09 21:03:06 +0000evincar(~evincar@user/evincar)
2023-05-09 21:03:22 +0000titibandit(~titibandi@user/titibandit)
2023-05-09 21:03:47 +0000nick4(~nick@ip68-1-49-124.pn.at.cox.net) (Ping timeout: 264 seconds)
2023-05-09 21:07:28 +0000evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-09 21:11:35 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9)
2023-05-09 21:12:10 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-09 21:12:48 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 21:13:00 +0000ft(~ft@p4fc2a88b.dip0.t-ipconnect.de)
2023-05-09 21:15:53 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 250 seconds)
2023-05-09 21:17:11 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 250 seconds)
2023-05-09 21:19:31 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 21:21:02 +0000tubogram44(~tubogram@user/tubogram) (*.net *.split)
2023-05-09 21:21:24 +0000tubogram44(~tubogram@user/tubogram)
2023-05-09 21:23:14 +0000titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-09 21:28:57 +0000rf(~rf@2605:59c8:179c:f610:44a3:b0ec:665c:93d3)
2023-05-09 21:30:00 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-09 21:30:37 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 21:33:17 +0000tubogram44(~tubogram@user/tubogram) (*.net *.split)
2023-05-09 21:34:02 +0000tubogram44(~tubogram@user/tubogram)
2023-05-09 21:34:48 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-09 21:36:23 +0000evincar(~evincar@user/evincar)
2023-05-09 21:38:58 +0000bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-05-09 21:41:11 +0000evincar(~evincar@user/evincar) (Ping timeout: 256 seconds)
2023-05-09 21:42:14 +0000alexherbo2(~alexherbo@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) (Remote host closed the connection)
2023-05-09 21:44:25 +0000dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 240 seconds)
2023-05-09 21:47:18 +0000vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-09 21:51:41 +0000superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split)
2023-05-09 21:52:58 +0000elevenkb(~elevenkb@vc-gp-n-105-245-97-98.umts.vodacom.co.za)
2023-05-09 21:54:47 +0000myrix(~myrix@95-24-68-157.broadband.corbina.ru)
2023-05-09 21:55:01 +0000myrix(~myrix@95-24-68-157.broadband.corbina.ru) (Client Quit)
2023-05-09 21:55:17 +0000myrix(~myrix@95-24-68-157.broadband.corbina.ru)
2023-05-09 21:55:20 +0000myrix(~myrix@95-24-68-157.broadband.corbina.ru) (Client Quit)
2023-05-09 21:55:25 +0000superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2023-05-09 22:02:40 +0000michalz(~michalz@185.246.207.197) (Remote host closed the connection)
2023-05-09 22:05:08 +0000lbseale(~quassel@user/ep1ctetus)
2023-05-09 22:06:44 +0000michalz(~michalz@185.246.207.203)
2023-05-09 22:08:49 +0000evincar(~evincar@user/evincar)
2023-05-09 22:11:05 +0000michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2023-05-09 22:13:08 +0000evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-09 22:13:20 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 22:14:46 +0000dontdieych_(~alarm@132.226.169.184) (Client Quit)
2023-05-09 22:18:48 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 22:18:58 +0000dontdieych_(~alarm@132.226.169.184) (Client Quit)
2023-05-09 22:22:17 +0000Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2023-05-09 22:24:33 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30:5d14:9417:a6bd:7661) (Quit: caryhartline)
2023-05-09 22:33:35 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2023-05-09 22:41:28 +0000gurkenglas(~gurkengla@dynamic-089-204-139-070.89.204.139.pool.telefonica.de) (Ping timeout: 240 seconds)
2023-05-09 22:42:42 +0000evincar(~evincar@user/evincar)
2023-05-09 22:43:00 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 22:43:29 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30:a967:52ac:90b:ce3b)
2023-05-09 22:44:35 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-09 22:45:51 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-09 22:47:05 +0000evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-09 22:49:04 +0000jero98772(~jero98772@2800:484:1d84:9000::2) (Ping timeout: 250 seconds)
2023-05-09 22:52:46 +0000czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection)
2023-05-09 22:54:28 +0000elevenkb(~elevenkb@vc-gp-n-105-245-97-98.umts.vodacom.co.za) (Read error: Connection reset by peer)
2023-05-09 22:56:08 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30:a967:52ac:90b:ce3b) (Quit: caryhartline)
2023-05-09 22:58:32 +0000falafel(~falafel@2603-8000-d700-115c-daf2-a7ab-4fdd-5c9f.res6.spectrum.com)
2023-05-09 22:59:32 +0000dontdieych_(~alarm@132.226.169.184) (Quit: WeeChat 3.8)
2023-05-09 23:02:10 +0000jero98772(~jero98772@2800:484:1d84:9000::2)
2023-05-09 23:05:36 +0000rf(~rf@2605:59c8:179c:f610:44a3:b0ec:665c:93d3) (Ping timeout: 248 seconds)
2023-05-09 23:05:42 +0000falafel(~falafel@2603-8000-d700-115c-daf2-a7ab-4fdd-5c9f.res6.spectrum.com) (Ping timeout: 265 seconds)
2023-05-09 23:06:11 +0000acidjnk(~acidjnk@p200300d6e7072f242d8d66ef0fd61958.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-05-09 23:09:22 +0000erisco(~erisco@d24-141-66-165.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2023-05-09 23:10:11 +0000erisco(~erisco@d24-141-66-165.home.cgocable.net)
2023-05-09 23:11:17 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:11:56 +0000dontdieych_(~alarm@132.226.169.184) (Client Quit)
2023-05-09 23:14:17 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9)
2023-05-09 23:15:31 +0000freeside(~mengwong@103.252.202.151)
2023-05-09 23:15:32 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:16:31 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-09 23:16:31 +0000mncheck(~mncheck@193.224.205.254) (Ping timeout: 260 seconds)
2023-05-09 23:16:31 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-09 23:16:31 +0000wroathe(~wroathe@user/wroathe)
2023-05-09 23:16:57 +0000evincar(~evincar@user/evincar)
2023-05-09 23:17:55 +0000dontdieych_(~alarm@132.226.169.184) (Read error: Connection reset by peer)
2023-05-09 23:18:20 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:18:39 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 256 seconds)
2023-05-09 23:19:12 +0000dontdieych_(~alarm@132.226.169.184) (Read error: Connection reset by peer)
2023-05-09 23:20:38 +0000freeside(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-09 23:20:48 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:21:25 +0000evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-09 23:22:19 +0000nate2(~nate@98.45.169.16)
2023-05-09 23:26:22 +0000zeenk(~zeenk@2a02:2f04:a105:f00::fba) (Quit: Konversation terminated!)
2023-05-09 23:26:45 +0000nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-09 23:27:40 +0000YoungFrog(~youngfrog@2a02:a03f:ca07:f900:10be:cd2c:3e2a:8e0a) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2023-05-09 23:27:47 +0000 <fbytez> Are there any builtin libraries / functions for randomizing list contents?
2023-05-09 23:27:59 +0000YoungFrog(~youngfrog@2a02:a03f:ca07:f900:948f:148:b116:d454)
2023-05-09 23:28:08 +0000mauke_(~mauke@user/mauke)
2023-05-09 23:29:25 +0000mauke(~mauke@user/mauke) (Ping timeout: 240 seconds)
2023-05-09 23:29:25 +0000mauke_mauke
2023-05-09 23:29:39 +0000dontdieych_(~alarm@132.226.169.184) (Quit: WeeChat 3.8)
2023-05-09 23:30:02 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:30:06 +0000dontdieych_(~alarm@132.226.169.184) (Client Quit)
2023-05-09 23:33:09 +0000 <fbytez> https://en.wikibooks.org/wiki/Haskell/Libraries/Random -- I'm surprised this seems like a standard library but isn't part of my ghcup installation.
2023-05-09 23:33:28 +0000m1dnight(~christoph@78-22-4-67.access.telenet.be) (Ping timeout: 240 seconds)
2023-05-09 23:33:36 +0000Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-05-09 23:33:55 +0000 <geekosaur> the only libraries that ship with ghc are the ones it needs. they can't be upgraded without upgrading ghc, so we try to keep them minimal
2023-05-09 23:34:11 +0000 <geekosaur> stack and cabal will install libraries as needed
2023-05-09 23:34:25 +0000 <fbytez> Right. So, which package is it in?
2023-05-09 23:34:39 +0000puke(~puke@user/puke) (Remote host closed the connection)
2023-05-09 23:34:58 +0000puke(~puke@user/puke)
2023-05-09 23:35:30 +0000 <geekosaur> random
2023-05-09 23:35:43 +0000 <geekosaur> @hackage random
2023-05-09 23:35:43 +0000 <lambdabot> https://hackage.haskell.org/package/random
2023-05-09 23:36:14 +0000 <sm> not sure if it has what you asked for, if not I saw a random-shuffle package
2023-05-09 23:36:15 +0000 <fbytez> How should I generally go about finding the source package of a module/library?
2023-05-09 23:36:44 +0000 <Axman6> hoogle
2023-05-09 23:36:51 +0000 <sm> search for it at https://hoogle.haskell.org (consider making a browser keyword)
2023-05-09 23:37:14 +0000 <Axman6> https://wiki.haskell.org/Random_shuffle might also be useful
2023-05-09 23:37:24 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:37:28 +0000dontdieych_(~alarm@132.226.169.184) (Client Quit)
2023-05-09 23:37:47 +0000 <fbytez> Is there anyway to distinguish what is considered "standard"?
2023-05-09 23:38:08 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:38:36 +0000dontdieych_(~alarm@132.226.169.184) (Client Quit)
2023-05-09 23:38:46 +0000 <Axman6> I'm not sure its a particularly useful distinction, why does it matter?
2023-05-09 23:39:36 +0000 <fbytez> Just saw this under "Maintainer": core-libraries-committee@haskell.org -- so something like that, I guess.
2023-05-09 23:40:51 +0000 <fbytez> Just a bit of an easy screen when there are multiple choices.
2023-05-09 23:41:52 +0000 <fbytez> Like, why would I install from my system's package manager instead of from some random website.
2023-05-09 23:41:54 +0000 <Axman6> like geekosaur said, ghc ships with libraries it needs, but that doesn't mean they're particcularly special, and often better versions exist that use features that GHC can't to maintain backwards compatibility
2023-05-09 23:42:47 +0000 <Axman6> never install anything from your system's packqge manager - install ghc, cabal, hls etc. with ghcup, and use cabal or stack to install packages you need
2023-05-09 23:42:49 +0000 <geekosaur> your system package manager may provide very old versions of library packages and indeed of ghc itself
2023-05-09 23:43:13 +0000 <fbytez> I mean in general, as an analogy, nothing to do with Haskell.
2023-05-09 23:43:55 +0000 <fbytez> I have been using ghcup and cabal for everything Haskell-wise.
2023-05-09 23:44:01 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:44:15 +0000dontdieych_(~alarm@132.226.169.184) (Client Quit)
2023-05-09 23:45:12 +0000 <sm> fbytez: some useful things to check are: is it included in current stackage lts snapshot; what is last release/upload/revision date on hackage; and how many other packages depend on it
2023-05-09 23:45:35 +0000 <fbytez> Yeah, that's the sort of thing I mean, thanks.
2023-05-09 23:48:00 +0000 <Axman6> when I'm searching for a package, I usually go to hackage and sort by upload date, generally a good sign of some health. that said, plenty of older packages compile just fine and havent had a need to benupdated. purity and paramatricity can buy you a lot in terms of maintainability or the lack of need thereof
2023-05-09 23:48:19 +0000harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-05-09 23:48:51 +0000 <sm> also in the dependencies, what is the upper bound on base (which suggests whether it supports recent ghc versions)
2023-05-09 23:50:23 +0000oo_miguel(~Thunderbi@77.252.47.78) (Ping timeout: 256 seconds)
2023-05-09 23:50:45 +0000 <fbytez> Thanks, all.
2023-05-09 23:51:01 +0000pyook(~puke@user/puke) (Remote host closed the connection)
2023-05-09 23:51:17 +0000pyook(~puke@user/puke)
2023-05-09 23:52:30 +0000evincar(~evincar@user/evincar)
2023-05-09 23:56:04 +0000m1dnight(~christoph@78-22-4-67.access.telenet.be)
2023-05-09 23:56:08 +0000dontdieych_(~alarm@132.226.169.184)
2023-05-09 23:57:38 +0000evincar(~evincar@user/evincar) (Ping timeout: 268 seconds)
2023-05-09 23:59:27 +0000jero98772(~jero98772@2800:484:1d84:9000::2) (Ping timeout: 256 seconds)