2023/06/05

2023-06-05 00:03:21 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-05 00:03:38 +0200Pickchea(~private@user/pickchea)
2023-06-05 00:04:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 00:05:42 +0200CiaoSen(~Jura@145.224.74.19)
2023-06-05 00:07:11 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 00:08:37 +0200ddellacosta(~ddellacos@146.70.166.226) (Ping timeout: 240 seconds)
2023-06-05 00:13:11 +0200systemhalted(~systemhal@122.161.92.64)
2023-06-05 00:13:12 +0200michalz(~michalz@185.246.207.215) (Remote host closed the connection)
2023-06-05 00:13:28 +0200systemhalted(~systemhal@122.161.92.64) (Remote host closed the connection)
2023-06-05 00:14:55 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 265 seconds)
2023-06-05 00:17:49 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 265 seconds)
2023-06-05 00:18:05 +0200son0p(~ff@181.136.122.143) (Ping timeout: 240 seconds)
2023-06-05 00:18:32 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 00:19:02 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 00:20:19 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 00:21:59 +0200son0p(~ff@181.136.122.143)
2023-06-05 00:22:47 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-05 00:23:08 +0200nschoe(~q@2a01:e0a:8e:a190:43aa:dbe8:a8d9:56e4) (Quit: Switching off)
2023-06-05 00:23:17 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d512:b207:c888:476e) (Remote host closed the connection)
2023-06-05 00:26:13 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-06-05 00:27:20 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 00:27:30 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-06-05 00:27:50 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
2023-06-05 00:29:05 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 00:30:38 +0200son0p(~ff@181.136.122.143) (Remote host closed the connection)
2023-06-05 00:32:35 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d512:b207:c888:476e)
2023-06-05 00:33:12 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-06-05 00:34:01 +0200freeside(~mengwong@103.252.202.189)
2023-06-05 00:36:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 00:38:00 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 00:39:00 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 268 seconds)
2023-06-05 00:39:28 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-05 00:39:45 +0200Pickchea(~private@user/pickchea)
2023-06-05 00:41:37 +0200Pickchea(~private@user/pickchea) (Remote host closed the connection)
2023-06-05 00:41:53 +0200Pickchea(~private@user/pickchea)
2023-06-05 00:46:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 00:48:47 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 265 seconds)
2023-06-05 00:49:35 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 00:50:15 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 00:53:37 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 265 seconds)
2023-06-05 00:54:31 +0200acidjnk(~acidjnk@p200300d6e7072f782910d7d1b226f26d.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-06-05 00:57:38 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d512:b207:c888:476e) (Remote host closed the connection)
2023-06-05 00:58:45 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-06-05 01:01:31 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-06-05 01:02:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 01:03:28 +0200justsomeguy(~justsomeg@user/justsomeguy) (Client Quit)
2023-06-05 01:09:39 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 01:11:33 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
2023-06-05 01:11:55 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 01:12:53 +0200mauke_(~mauke@user/mauke)
2023-06-05 01:14:37 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds)
2023-06-05 01:14:37 +0200mauke(~mauke@user/mauke) (Ping timeout: 250 seconds)
2023-06-05 01:14:37 +0200mauke_mauke
2023-06-05 01:14:45 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-05 01:15:20 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 01:16:13 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 01:16:17 +0200alphabeta(~kilolympu@vpn-fn-226.net.ed.ac.uk)
2023-06-05 01:16:21 +0200kilolympus(~kilolympu@213.144.144.24) (Ping timeout: 250 seconds)
2023-06-05 01:20:36 +0200euandreh(~Thunderbi@189.6.18.7)
2023-06-05 01:21:08 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
2023-06-05 01:23:06 +0200zenobit(~zenobit@88.103.31.15)
2023-06-05 01:23:20 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 01:24:41 +0200gurkenglas(~user@46.114.183.113) (Read error: Connection reset by peer)
2023-06-05 01:25:08 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 01:26:59 +0200NinjaTrappeur(~ninja@user/ninjatrappeur) (Ping timeout: 246 seconds)
2023-06-05 01:28:37 +0200oo_miguel(~Thunderbi@77.252.47.84) (Ping timeout: 240 seconds)
2023-06-05 01:28:54 +0200sudden(~cat@user/sudden) (Ping timeout: 265 seconds)
2023-06-05 01:29:35 +0200sudden(~cat@user/sudden)
2023-06-05 01:31:28 +0200NinjaTrappeur(~ninja@user/ninjatrappeur)
2023-06-05 01:31:58 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 250 seconds)
2023-06-05 01:33:13 +0200son0p(~ff@181.136.122.143)
2023-06-05 01:37:37 +0200machinedgod(~machinedg@93-136-155-38.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
2023-06-05 01:39:26 +0200euandreh(~Thunderbi@189.6.18.7)
2023-06-05 01:40:32 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 01:43:26 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 01:43:40 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2023-06-05 01:49:44 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 01:52:18 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 01:55:27 +0200zenobit(~zenobit@88.103.31.15) (Quit: Connection closed)
2023-06-05 01:58:51 +0200nate2(~nate@98.45.169.16)
2023-06-05 01:58:53 +0200mheinzel(~mheinzel@2a01:c22:a8ca:c500:e14a:606b:6a3c:22fb) (Quit: Leaving)
2023-06-05 02:00:32 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 02:02:02 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 02:04:09 +0200nate2(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2023-06-05 02:07:13 +0200CalculusCats(NyaaTheKit@user/calculuscat) (Quit: Meow Meow Meow Meow Meow Meow Meow Meow)
2023-06-05 02:08:53 +0200CalculusCats(NyaaTheKit@user/calculuscat)
2023-06-05 02:13:44 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 02:16:47 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 02:22:32 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 02:25:18 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-06-05 02:25:32 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 02:34:37 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-06-05 02:35:07 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 265 seconds)
2023-06-05 02:35:28 +0200freeside(~mengwong@103.252.202.189)
2023-06-05 02:37:24 +0200euandreh(~Thunderbi@189.6.18.7)
2023-06-05 02:40:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 02:41:52 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 02:42:10 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 250 seconds)
2023-06-05 02:43:49 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d512:b207:c888:476e)
2023-06-05 02:47:16 +0200nate2(~nate@98.45.169.16)
2023-06-05 02:52:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 02:53:08 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 02:57:20 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 02:58:18 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 02:58:46 +0200vandita(~vandit@87-97-12-202.pool.digikabel.hu) (Ping timeout: 265 seconds)
2023-06-05 03:00:08 +0200vandita(~vandit@178-164-235-198.pool.digikabel.hu)
2023-06-05 03:02:14 +0200ddellacosta(~ddellacos@146.70.171.100)
2023-06-05 03:02:36 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 03:05:53 +0200falafel(~falafel@cpe-70-93-29-179.natsow.res.rr.com)
2023-06-05 03:06:01 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2023-06-05 03:06:32 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 03:07:27 +0200zaquest(~notzaques@5.130.79.72)
2023-06-05 03:08:40 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 03:09:03 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-06-05 03:09:31 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
2023-06-05 03:11:39 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-06-05 03:14:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 03:15:00 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 03:17:46 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-06-05 03:19:07 +0200wroathe(~wroathe@user/wroathe)
2023-06-05 03:20:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 03:21:11 +0200wroathe(~wroathe@user/wroathe) (Client Quit)
2023-06-05 03:21:24 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-06-05 03:21:24 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-06-05 03:21:24 +0200wroathe(~wroathe@user/wroathe)
2023-06-05 03:26:05 +0200qhong_qhong
2023-06-05 03:31:26 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 03:32:10 +0200fun-safe-math(~fun-safe-@c-24-22-79-16.hsd1.wa.comcast.net)
2023-06-05 03:32:45 +0200motherfsck(~motherfsc@user/motherfsck)
2023-06-05 03:35:52 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d512:b207:c888:476e) (Remote host closed the connection)
2023-06-05 03:36:56 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 03:37:57 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 03:40:33 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 256 seconds)
2023-06-05 03:44:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 03:45:15 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 03:48:42 +0200nitrix(~nitrix@user/nitrix) (Quit: ZNC 1.8.2 - https://znc.in)
2023-06-05 03:49:02 +0200nate2(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2023-06-05 03:50:38 +0200alphabeta(~kilolympu@vpn-fn-226.net.ed.ac.uk) (Ping timeout: 250 seconds)
2023-06-05 03:54:12 +0200kilolympus(~kilolympu@213.144.144.24)
2023-06-05 04:00:32 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 04:02:18 +0200Feuermagier(~Feuermagi@user/feuermagier) (Read error: Connection reset by peer)
2023-06-05 04:04:18 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 04:04:30 +0200nitrix(~nitrix@user/nitrix)
2023-06-05 04:06:04 +0200jargon(~jargon@184.101.71.62)
2023-06-05 04:09:07 +0200falafel(~falafel@cpe-70-93-29-179.natsow.res.rr.com) (Ping timeout: 240 seconds)
2023-06-05 04:11:20 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 04:17:39 +0200freeside(~mengwong@103.252.202.189)
2023-06-05 04:21:46 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 04:22:57 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-06-05 04:22:57 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-06-05 04:22:57 +0200finn_elijaFinnElija
2023-06-05 04:23:21 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 265 seconds)
2023-06-05 04:28:20 +0200xff0x_(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 250 seconds)
2023-06-05 04:29:58 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-06-05 04:30:56 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 04:32:05 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 04:33:35 +0200arrowhead(~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com)
2023-06-05 04:34:21 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-06-05 04:35:37 +0200tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 240 seconds)
2023-06-05 04:35:37 +0200arrowhead(~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com) (Read error: Connection reset by peer)
2023-06-05 04:37:20 +0200tessier(~treed@98.97.63.104)
2023-06-05 04:38:56 +0200arrowhead(~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com)
2023-06-05 04:40:27 +0200jero98772(~jero98772@190.158.28.80) (Ping timeout: 250 seconds)
2023-06-05 04:41:07 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-06-05 04:42:08 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-06-05 04:44:26 +0200blackpill0w(~blackpill@user/blackpill0w)
2023-06-05 04:48:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 04:50:35 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 04:53:37 +0200td_(~td@i5387091D.versanet.de) (Ping timeout: 240 seconds)
2023-06-05 04:54:23 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-05 04:55:33 +0200td_(~td@i53870929.versanet.de)
2023-06-05 04:56:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 04:56:08 +0200arrowhead(~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com) (Read error: Connection reset by peer)
2023-06-05 04:59:22 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 05:00:24 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1) (Remote host closed the connection)
2023-06-05 05:02:21 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-06-05 05:04:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 05:05:05 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 05:10:23 +0200hiredman(~hiredman@frontier1.downey.family)
2023-06-05 05:10:32 +0200xff0x_(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-06-05 05:11:20 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 05:13:10 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 05:18:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 05:18:21 +0200systemhalted(~systemhal@122.161.92.64)
2023-06-05 05:19:02 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 05:19:33 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 05:25:03 +0200blackpill0w(~blackpill@user/blackpill0w) (Leaving)
2023-06-05 05:25:20 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 05:28:07 +0200systemhalted(~systemhal@122.161.92.64) (Ping timeout: 250 seconds)
2023-06-05 05:32:07 +0200vandita(~vandit@178-164-235-198.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-06-05 05:34:07 +0200vandita(~vandit@77-234-80-243.pool.digikabel.hu)
2023-06-05 05:35:30 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 05:36:07 +0200tessier(~treed@98.97.63.104) (Ping timeout: 240 seconds)
2023-06-05 05:38:13 +0200tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
2023-06-05 05:38:44 +0200falafel(~falafel@cpe-70-93-29-179.natsow.res.rr.com)
2023-06-05 05:42:00 +0200EvanR(~EvanR@user/evanr) (Ping timeout: 250 seconds)
2023-06-05 05:52:46 +0200CiaoSen(~Jura@145.224.74.19) (Ping timeout: 265 seconds)
2023-06-05 06:02:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 06:03:38 +0200 <hammond> does ghc have a debugger?
2023-06-05 06:03:54 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 06:05:48 +0200 <sm> yes, there's one built in to ghci, and chapter on it in the user guide. Few people use it because laziness makes it hard
2023-06-05 06:06:39 +0200 <sm> there's also a VS Code extension for it and this fun TUI in progress: https://equestria.social/@CrystalLord/110489203440700086
2023-06-05 06:07:34 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-06-05 06:07:46 +0200 <hammond> cool.
2023-06-05 06:08:29 +0200 <hammond> sm how does laziness make it hard, you wont know the true value of a variable until it's executed?
2023-06-05 06:09:10 +0200 <sm> it jumps around as things are evaluated lazily. Gives you whiplash.
2023-06-05 06:09:20 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 06:09:33 +0200 <hammond> i see
2023-06-05 06:09:51 +0200 <sm> and what you said, yes, though you can force evaluation of anything
2023-06-05 06:11:26 +0200 <sm> I tried the VSC extension recently, it's quite flaky but still useful for understanding. But most of the time Debug.Trace is quicker
2023-06-05 06:18:42 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 06:19:51 +0200chromoblob(~user@37.113.158.8)
2023-06-05 06:20:45 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-05 06:21:02 +0200 <monochrom> I have a Debug.Trace guide at http://www.vex.net/~trebla/haskell/tracing.html
2023-06-05 06:24:57 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 268 seconds)
2023-06-05 06:29:33 +0200mbuf(~Shakthi@49.207.178.186)
2023-06-05 06:31:44 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 06:34:51 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 250 seconds)
2023-06-05 06:49:35 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 06:50:38 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-06-05 06:55:44 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 06:59:18 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 07:03:15 +0200shriekingnoise_(~shrieking@186.137.175.87)
2023-06-05 07:04:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 07:05:37 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-06-05 07:05:40 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 07:07:00 +0200coot_(~coot@89-69-206-216.dynamic.chello.pl)
2023-06-05 07:08:37 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-06-05 07:09:37 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 240 seconds)
2023-06-05 07:09:37 +0200coot_coot
2023-06-05 07:11:34 +0200arrowhead(~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com)
2023-06-05 07:13:44 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 07:15:07 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 07:15:40 +0200trev(~trev@user/trev)
2023-06-05 07:15:44 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-06-05 07:22:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 07:25:34 +0200falafel(~falafel@cpe-70-93-29-179.natsow.res.rr.com) (Ping timeout: 265 seconds)
2023-06-05 07:29:01 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-06-05 07:30:08 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
2023-06-05 07:32:33 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-06-05 07:32:50 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 07:41:44 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 07:42:01 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds)
2023-06-05 07:44:02 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-06-05 07:45:21 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 07:46:12 +0200nate2(~nate@98.45.169.16)
2023-06-05 07:50:44 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-06-05 07:50:48 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-06-05 07:52:32 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 07:53:20 +0200ec(~ec@gateway/tor-sasl/ec)
2023-06-05 07:54:51 +0200monochrom(trebla@216.138.220.146) (Quit: NO CARRIER)
2023-06-05 07:59:58 +0200monochrom(trebla@216.138.220.146)
2023-06-05 08:07:18 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-06-05 08:09:20 +0200gurkenglas(~user@dynamic-046-114-181-157.46.114.pool.telefonica.de)
2023-06-05 08:14:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 08:15:50 +0200phma_(~phma@host-67-44-208-15.hnremote.net)
2023-06-05 08:17:06 +0200phma__(phma@2001:5b0:211c:f708:3f49:e7f9:713f:22f)
2023-06-05 08:17:17 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 08:17:53 +0200phma(~phma@host-67-44-208-65.hnremote.net) (Ping timeout: 246 seconds)
2023-06-05 08:18:08 +0200phma__phma
2023-06-05 08:20:23 +0200thegeekinside(~thegeekin@189.217.90.138) (Remote host closed the connection)
2023-06-05 08:20:32 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2023-06-05 08:20:36 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 08:20:41 +0200phma_(~phma@host-67-44-208-15.hnremote.net) (Ping timeout: 246 seconds)
2023-06-05 08:21:40 +0200mncheck(~mncheck@193.224.205.254)
2023-06-05 08:25:15 +0200machinedgod(~machinedg@93-136-226-84.adsl.net.t-com.hr)
2023-06-05 08:25:18 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 08:25:30 +0200phma(phma@2001:5b0:211c:f708:3f49:e7f9:713f:22f) (Read error: Connection reset by peer)
2023-06-05 08:26:25 +0200phma(phma@2001:5b0:2144:22d8:cadc:c651:310f:c9a8)
2023-06-05 08:28:50 +0200vandita(~vandit@77-234-80-243.pool.digikabel.hu) (Ping timeout: 250 seconds)
2023-06-05 08:30:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 08:30:27 +0200vandita(~vandit@94-21-48-54.pool.digikabel.hu)
2023-06-05 08:30:30 +0200oo_miguel(~Thunderbi@77.252.47.84)
2023-06-05 08:31:45 +0200michalz(~michalz@185.246.207.201)
2023-06-05 08:32:01 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 08:32:39 +0200gurkenglas(~user@dynamic-046-114-181-157.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-06-05 08:32:40 +0200arrowhead(~arrowhead@2603-7000-9b3f-6934-98da-3f80-da6e-cd1d.res6.spectrum.com) (Read error: Connection reset by peer)
2023-06-05 08:33:42 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2023-06-05 08:39:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 08:40:07 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 08:49:04 +0200arrowhead(~arrowhead@cpe-74-66-76-151.nyc.res.rr.com)
2023-06-05 08:49:50 +0200acidjnk(~acidjnk@p200300d6e7072f49f87e9b16d0682c76.dip0.t-ipconnect.de)
2023-06-05 08:53:34 +0200shriekingnoise_(~shrieking@186.137.175.87) (Ping timeout: 265 seconds)
2023-06-05 08:57:17 +0200boukenshaou(~Boukensha@223.178.84.62) (Remote host closed the connection)
2023-06-05 08:58:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 09:02:06 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 09:11:31 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-06-05 09:13:30 +0200titibandit(~titibandi@user/titibandit)
2023-06-05 09:15:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 09:16:17 +0200thegeekinside(~thegeekin@189.217.90.138) (Ping timeout: 265 seconds)
2023-06-05 09:16:42 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 09:17:34 +0200thegeekinside(~thegeekin@189.217.90.138) (Remote host closed the connection)
2023-06-05 09:20:53 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-06-05 09:21:37 +0200 <yin> how do i ignore user input while on a getLine / putStrLn loop?
2023-06-05 09:22:27 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 09:22:57 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 09:23:41 +0200 <jackdk> yin: Is this the sort of thing you mean? https://www.irccloud.com/pastebin/wR1ELEA0/Fnord.hs
2023-06-05 09:29:22 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-06-05 09:30:17 +0200 <yin> jackdk: sort of. imagine that you putStr was something that took a while to run, printing paragraphs word by word, slowly. i want to know how to ignore user input during that operation
2023-06-05 09:30:33 +0200 <arrowhead> I get this in VSCode: "Could not find module ‘Data.List.Split’ It is not a module in the current program, or in any known package." But I've already cabal install split and added split to my build-depends in my cabal yaml file. Now what?
2023-06-05 09:31:30 +0200 <yin> arrowhead: are you sure you spelt the import correctly?
2023-06-05 09:31:46 +0200 <arrowhead> @yin import Data.List.Split
2023-06-05 09:31:46 +0200 <lambdabot> Maybe you meant: yow wn run ping kind join id bid
2023-06-05 09:32:10 +0200 <yin> that looks right
2023-06-05 09:32:53 +0200 <arrowhead> It's so hard to set up an IDE for Haskell
2023-06-05 09:33:03 +0200 <arrowhead> I've reinstalled everything millions of times
2023-06-05 09:33:18 +0200 <arrowhead> I would pay for a nice docker with all packages preinstalled
2023-06-05 09:33:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 09:34:38 +0200 <arrowhead> I really miss FPComplete's online Haskell IDE
2023-06-05 09:35:56 +0200zxrom(~zxrom@mm-214-30-212-37.vitebsk.dynamic.pppoe.byfly.by) (Quit: Leaving)
2023-06-05 09:36:55 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 09:38:40 +0200 <arrowhead> y'all need to rent your properly configured Haskell IDEs to us mere mortals, that would be a win-win
2023-06-05 09:39:21 +0200 <[Leary]> yin: Something like `bracket (forkIO (forever getChar)) killThread . const`?
2023-06-05 09:40:03 +0200chromoblob(~user@37.113.158.8)
2023-06-05 09:42:57 +0200hisa382(~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
2023-06-05 09:44:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 09:44:45 +0200hisa38(~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 268 seconds)
2023-06-05 09:44:45 +0200hisa382hisa38
2023-06-05 09:45:01 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 09:46:33 +0200gmg(~user@user/gehmehgeh)
2023-06-05 09:48:08 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-06-05 09:49:05 +0200chele(~chele@user/chele)
2023-06-05 09:54:29 +0200 <arrowhead> it's back to Haskell for Mac for me. ghcup + vscode seems impossible.
2023-06-05 09:56:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 09:58:43 +0200 <Helle> time for some cursed code, I wonder if I can use HsQML to achieve the GUI for what I am working on
2023-06-05 09:59:20 +0200 <chromoblob> what's the utility of Opaque?
2023-06-05 10:00:30 +0200 <sm> arrowhead: sounds like your problem is with HLS ?
2023-06-05 10:01:08 +0200jinsun(~jinsun@user/jinsun) (Ping timeout: 250 seconds)
2023-06-05 10:02:36 +0200 <arrowhead> I had the recommended one selected in ghcup... but also tried all the other ones
2023-06-05 10:02:39 +0200 <[exa]> chromoblob: if you mean the one from GHC.Base, I'd suspect the utility is similar to `absurd` and `vacuous`
2023-06-05 10:03:47 +0200 <Helle> oh, oooof, HsQML has not had releases in 5 years
2023-06-05 10:03:56 +0200 <[exa]> chromoblob: technically it holds something (possibly smart/complex) and you probably can't do anything with it unless you go `unsafeCoerce` or so
2023-06-05 10:04:18 +0200 <sm> Try to divide an conquer to find out what's going wrong. Eg leaving vs code out of it, can you cabal build this project at the command line ?
2023-06-05 10:05:07 +0200 <chromoblob> why IO is implemented as magic as opposed to free monads which are just interpreted by runtime?
2023-06-05 10:05:50 +0200 <[exa]> Helle: what's the target use-case btw? for UI nowadays you might be better off with either reactive tools (brick? elm?) or immediate-mode stuff (gloss/imgui)
2023-06-05 10:06:57 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 10:07:40 +0200 <Helle> [exa]: well, I am familiar with QtQuick and wanted to use a bunch of ready made elements, like honestly it is such that I could just call the haskell as an external binary even, but it would be slightly more efficient to have it be a library the UI calls to
2023-06-05 10:08:14 +0200 <sm> arrowhead: got to go.. if your build works normally at command line then a good next place to study might be the VSC Output > Haskell pane.
2023-06-05 10:08:50 +0200 <Helle> [exa]: also performance of QtQuick well exceeds anything built for the browser
2023-06-05 10:09:10 +0200 <arrowhead> sm: thank you, I appreciate your help... I have inspected that output pane but could not figure out anything
2023-06-05 10:09:23 +0200 <arrowhead> chromoblob: history
2023-06-05 10:10:05 +0200jinsun(~jinsun@user/jinsun)
2023-06-05 10:10:08 +0200 <arrowhead> sm: yes I can cabal build... this is a cabal init project. there are abandoned github issues with my same issue
2023-06-05 10:11:39 +0200 <[exa]> Helle: imo depends a lot, Qt occupies a kindof c++-styled niche and I never thought it would port well to haskell
2023-06-05 10:11:49 +0200 <probie> chromoblob: what's the gain here? Where do FFI calls sit?
2023-06-05 10:12:18 +0200 <[exa]> Helle: if you're happy with Qt in c++, I'd say just go for it. If not try gtk, I like it because it's waaaaaaaaaay less magic
2023-06-05 10:12:32 +0200 <Helle> [exa]: so QtQuick and bindings from it to other languages tend to actually work quite well, as opposed to Qt Widgets
2023-06-05 10:12:50 +0200 <Helle> and no, Qt Quick involves barely a line of C++ ideally
2023-06-05 10:13:24 +0200 <arrowhead> sm: https://github.com/haskell/haskell-ide-engine/issues/1093
2023-06-05 10:14:14 +0200 <arrowhead> probie: the gain would be the programmer being able to more easily run an IO value over a different free monad
2023-06-05 10:14:51 +0200 <[exa]> Helle: I never played with that one tbh but yeah that would make sense (actually looks very cute)
2023-06-05 10:15:59 +0200 <[exa]> Helle: on the bright side, quite often on hackage some 5 years without a commit may simply mean that the project didn't find any bugs
2023-06-05 10:16:43 +0200 <[exa]> (you might need to bump some version bounds manually but usually nothing too bad)
2023-06-05 10:17:09 +0200 <Helle> [exa]: yeah, I am mildly worried as Qt Quick has developed quite a bit, but don't know if these sort of "reverse" bindings are actually impacted
2023-06-05 10:17:35 +0200 <Helle> (that the Qt Quick code calls the Haskell code is the big trick to begin with in keeping it easy to wrangle)
2023-06-05 10:18:06 +0200 <[exa]> I'm completely stumped upon how that even calls C code, looks too much like javascript
2023-06-05 10:18:32 +0200 <[exa]> tbh simply try a small proof of concept, if it fails you'll be sure. :]
2023-06-05 10:18:42 +0200 <probie> arrowhead: can you quantify "more easily"? You want a free monad that encapsulates all of IO. What does that look like?
2023-06-05 10:19:12 +0200 <Helle> [exa]: It uses Javascript yeah, uh, the normal way, you can define types in C++ code and include them in your Qt Quick, but that is not a C++ exclusive feature, PyOtherSide does it for Python, HsQML seems to for Haskell
2023-06-05 10:20:58 +0200 <arrowhead> probie: Currently you have to yourself do "data MyFreeIO = PutStrLn ... | GetLine ..." in order to work with IO as a free monad. If it were how chromoblob said, this would be already that way from the Prelude.
2023-06-05 10:21:02 +0200 <arrowhead> or from the core.
2023-06-05 10:22:16 +0200 <chromoblob> probie: FFI is certainly more magical than IO. IO is unescapable. unless you assert unsafePerformIO, which is more magical than the rest of IO too
2023-06-05 10:22:55 +0200 <c_wraith> fwiw, unsafePerformIO's origins are closely related to FFI, too
2023-06-05 10:22:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 10:22:59 +0200 <Helle> HsQML seems to take a slightly different angle from PyOtherSide, but not by much, so I think it is worth for me to poke at atleast to see if it works with newer Qt versions and if I can make it play nice with C++ code mixed in (I have some components I want to reuse)
2023-06-05 10:23:26 +0200 <chromoblob> in my implementation, though, impure foreign functions will be forbidden at link time...
2023-06-05 10:23:54 +0200 <probie> how does concurrency look?
2023-06-05 10:23:59 +0200 <Helle> Else I can always drive the Haskell way more indirectly, but that would be suboptimal
2023-06-05 10:24:27 +0200 <arrowhead> chromoblob: won't that make some imports impossible?
2023-06-05 10:24:57 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 10:24:59 +0200 <[exa]> Helle: like, it looks to me a lot like they already FFI the C code from javascript, so no idea if the haskell there wouldn't be another wrapper layer
2023-06-05 10:25:52 +0200 <[exa]> chromoblob: purity is not a property of code or functions
2023-06-05 10:26:22 +0200 <arrowhead> [exa]: what is purity a property of?
2023-06-05 10:27:37 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 240 seconds)
2023-06-05 10:28:38 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-06-05 10:29:23 +0200ripspin(~chatzilla@1.145.171.138)
2023-06-05 10:30:01 +0200 <chromoblob> [exa]: I mean the case when the foreign function cannot be virtualized into pure code which never inputs or outputs anything to/from real world
2023-06-05 10:30:11 +0200 <Helle> [exa]: yeah, I am surprised the code initialises from Haskell though, that is actually less then ideal because it means it implicitly calls a bunch of Qt Quick setup (C++ stuff that you can replace with custom code normally and I often do because of crash handlers, etc), PyOtherSide initialises once the Qt Quick runtime is already up, but I suspect this is not a hard requirement
2023-06-05 10:30:27 +0200 <Helle> and I know I am making cursed hybrid code
2023-06-05 10:31:15 +0200 <probie> If this means giving up unsafePerformIO and FFI, it likely means giving up using GMP for Integer
2023-06-05 10:31:30 +0200 <Helle> yeah, this seems to be avoidable
2023-06-05 10:31:55 +0200 <Helle> time to see if I can get a hello world
2023-06-05 10:32:02 +0200 <chromoblob> and doesn't keep observable state "between calls"
2023-06-05 10:32:15 +0200 <chromoblob> i.e. pure with respect to Haskell
2023-06-05 10:32:53 +0200Inst(~Inst@c-98-208-218-119.hsd1.fl.comcast.net)
2023-06-05 10:35:37 +0200 <chromoblob> ok, i think that "code doesn't have observable state between calls" is unprovable for a lot of cases
2023-06-05 10:37:00 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-05 10:37:09 +0200 <chromoblob> i'm thinking about functions that memoize, i.e. on first call they compute the result and store it, on second call they just return it
2023-06-05 10:38:08 +0200 <chromoblob> because the function may compute something more on the second call, and more on third, etc. and there's no way to see whether it always will return the same value
2023-06-05 10:39:30 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2023-06-05 10:39:57 +0200 <chromoblob> the best we can do is repeatedly call function with same input until we see that its trace doesn't change
2023-06-05 10:40:24 +0200 <[exa]> [kurt_godel_giggles.gif]
2023-06-05 10:41:08 +0200 <chromoblob> or repeats one of previous traces
2023-06-05 10:41:14 +0200 <chromoblob> which is even more expensive to do...
2023-06-05 10:41:34 +0200 <chromoblob> yeah, scrap it
2023-06-05 10:44:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 10:45:06 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 10:46:26 +0200CiaoSen(~Jura@145.224.74.19)
2023-06-05 10:46:58 +0200 <chromoblob> the reason I'm so fanatic is that unsafePerformIO necessarily depends on specific semantics of Haskell
2023-06-05 10:47:09 +0200mei(~mei@user/mei) (Remote host closed the connection)
2023-06-05 10:47:15 +0200 <chromoblob> I dislike seq too, it should have a (derivable) typeclass
2023-06-05 10:47:42 +0200 <dminuoso> What do you mean by "unsafePerformIO [...] depends on specific semantics"?
2023-06-05 10:48:15 +0200 <chromoblob> i probbaly mean not semantics, but specific implementation technique
2023-06-05 10:48:20 +0200 <dminuoso> Right.
2023-06-05 10:48:24 +0200 <chromoblob> sorry
2023-06-05 10:48:34 +0200 <jade[m]> I know what you mean
2023-06-05 10:49:00 +0200 <jade[m]> but haskell still is the language with the least "in-built" stuff I've experienced
2023-06-05 10:49:34 +0200mei(~mei@user/mei)
2023-06-05 10:51:45 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 240 seconds)
2023-06-05 10:52:38 +0200 <Helle> meh, may rewrite HsQML as a plugin.....
2023-06-05 10:54:36 +0200 <chromoblob> i meant something like "specific realization of semantics"
2023-06-05 10:54:46 +0200 <jade[m]> ah
2023-06-05 10:54:47 +0200 <dminuoso> jade[m]: Oh I dont know about that. Lisp is strangely minimalistic.
2023-06-05 10:54:54 +0200 <dminuoso> Or at least many of its dialects are.
2023-06-05 10:55:00 +0200 <jade[m]> ohhh yeah that's fair
2023-06-05 10:55:14 +0200 <jade[m]> haven't worked much with lisp but that'd make sense
2023-06-05 10:55:33 +0200 <[exa]> turns out that "minimal" is pretty big if you want your language to be general purpose.
2023-06-05 10:55:48 +0200 <dminuoso> And at the end, I can think of only two things that are usually not builtin
2023-06-05 10:55:55 +0200 <dminuoso> Which is [] and Bool.
2023-06-05 10:56:18 +0200 <dminuoso> Most other stuff isnt too different from other languages in the sense of how wired in it is.
2023-06-05 10:56:56 +0200 <dminuoso> And in fact, Idris takes it even further
2023-06-05 10:57:12 +0200 <dminuoso> Given how even numeric types like Nat are inductive and widely used.
2023-06-05 10:57:20 +0200 <jade[m]> mhm
2023-06-05 10:57:35 +0200 <dminuoso> I mean you can do it in Haskell too, but idris knows how to optimize it away
2023-06-05 11:00:38 +0200 <chromoblob> does Idris store natural numbers internally as lists of binary digits?
2023-06-05 11:01:14 +0200 <probie> GHC is pretty good at optimising away lists. With optimisations turned on, the only heap allocation that occurs in the following is boxing the final result `product . map (+1) . filter even . map (+1) . enumFromTo (0 :: Int)`
2023-06-05 11:01:34 +0200 <dminuoso> probie: Mmm, Id say GHC is actually not very good.
2023-06-05 11:01:37 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
2023-06-05 11:01:52 +0200 <dminuoso> It's mostly library function authors that are very careful to put the right RULES in the right spots.
2023-06-05 11:02:27 +0200mei(~mei@user/mei) (Ping timeout: 268 seconds)
2023-06-05 11:02:27 +0200 <dminuoso> Very little is done by GHC, other than following RULES.
2023-06-05 11:02:59 +0200 <dminuoso> If you want list fusion to kick in, use `build`.
2023-06-05 11:03:09 +0200 <dminuoso> It generally doesnt happen magically.
2023-06-05 11:03:23 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-06-05 11:03:57 +0200 <probie> So if instead of having the rules users defined, but magically inbuilt, you'd say that GHC was better?
2023-06-05 11:04:10 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-06-05 11:04:17 +0200 <dminuoso> I dont know whether it was better because I wouldnt know the characteristics of a hypothetical GHC.
2023-06-05 11:04:56 +0200 <dminuoso> I just know that GHC isnt really good at optimizing lists away. List fusion is an extremely manual process, only functions that are specially treated will avoid intermediate lists.
2023-06-05 11:05:23 +0200 <dminuoso> However, and thats the thing, even if intermediate lists arent elided, the price tag is generally irrelevant
2023-06-05 11:05:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-06-05 11:05:48 +0200mei(~mei@user/mei)
2023-06-05 11:06:18 +0200 <probie> As someone playing around with their own fusion framework, even though I'm the one specifying the rules, I'm still often impressed by GHC
2023-06-05 11:10:54 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-06-05 11:15:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 11:16:44 +0200mei(~mei@user/mei) (Ping timeout: 246 seconds)
2023-06-05 11:19:12 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 11:21:03 +0200mei(~mei@user/mei)
2023-06-05 11:24:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 11:25:08 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 11:29:04 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
2023-06-05 11:31:44 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-06-05 11:32:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 11:32:48 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
2023-06-05 11:33:26 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Ping timeout: 250 seconds)
2023-06-05 11:36:28 +0200paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
2023-06-05 11:39:10 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-06-05 11:40:43 +0200paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
2023-06-05 11:44:32 +0200kilolympus(~kilolympu@213.144.144.24) (Ping timeout: 248 seconds)
2023-06-05 11:44:48 +0200kilolympus(~kilolympu@vpn-fn-229.net.ed.ac.uk)
2023-06-05 11:44:55 +0200mei(~mei@user/mei) (Remote host closed the connection)
2023-06-05 11:47:21 +0200mei(~mei@user/mei)
2023-06-05 11:47:32 +0200troydm(~troydm@user/troydm) (Ping timeout: 265 seconds)
2023-06-05 11:47:45 +0200nate2(~nate@98.45.169.16)
2023-06-05 11:50:45 +0200ripspin(~chatzilla@1.145.171.138) (Read error: Connection reset by peer)
2023-06-05 11:52:29 +0200nate2(~nate@98.45.169.16) (Ping timeout: 250 seconds)
2023-06-05 11:56:43 +0200paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds)
2023-06-05 11:57:41 +0200machinedgod(~machinedg@93-136-226-84.adsl.net.t-com.hr) (Ping timeout: 250 seconds)
2023-06-05 12:01:04 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 12:07:39 +0200xff0x_(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 250 seconds)
2023-06-05 12:09:51 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-06-05 12:19:48 +0200troydm(~troydm@user/troydm)
2023-06-05 12:20:48 +0200vandita(~vandit@94-21-48-54.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-06-05 12:22:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 12:22:46 +0200vandita(~vandit@178-164-206-64.pool.digikabel.hu)
2023-06-05 12:26:02 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 12:34:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 12:34:20 +0200CiaoSen(~Jura@145.224.74.19) (Ping timeout: 268 seconds)
2023-06-05 12:35:50 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 12:38:10 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-06-05 12:38:53 +0200 <kuribas> Is there any work done on mapping between similar structures? For example two database schemas which represent the same information (or a subset).
2023-06-05 12:38:56 +0200 <kuribas> In a declarative way.
2023-06-05 12:40:11 +0200 <kuribas> But also mapping individual fields, so I could take an error on one structure, and translate it to the other.
2023-06-05 12:40:11 +0200__monty__(~toonn@user/toonn)
2023-06-05 12:42:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 12:43:21 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2023-06-05 12:43:25 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 12:44:00 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 12:50:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 12:51:31 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 12:53:00 +0200 <dminuoso> You mean isomorphisms?
2023-06-05 12:53:08 +0200CiaoSen(~Jura@145.224.74.19)
2023-06-05 12:53:24 +0200 <dminuoso> Or homomorphisms.
2023-06-05 12:53:37 +0200 <dminuoso> (Which are more general than isomorphisms)
2023-06-05 12:53:45 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 265 seconds)
2023-06-05 12:54:33 +0200 <dminuoso> kuribas: As for a technical side, the most common abstraction is HasX pattern (be it with accessors or lens/prisms)
2023-06-05 12:55:11 +0200 <dminuoso> I sometimes unsafely adjoin traversals into a lens for a similar effect
2023-06-05 12:55:48 +0200 <dminuoso> (or into a traversal)
2023-06-05 12:56:01 +0200 <dminuoso> e.g. lagInterfaces = devMLAGs % traversed % mlagInt `adjoin` devLAGs % traversed
2023-06-05 12:58:49 +0200 <jackdk> there's a chapter in seven sketches in compositionality which represents database schemata as categories where the objects are tables and arrows are foreign key relationships. migrations then become functors, and you might be able to write enough of this in haskell to be useful
2023-06-05 13:00:53 +0200 <dminuoso> jackdk: interesting, so something like a migration that drops a column is then a forgetful functor?
2023-06-05 13:01:00 +0200 <dminuoso> quite literally. :-)
2023-06-05 13:02:42 +0200 <jackdk> something like that. I've only skimmed it, and I don't recall how CREATE TABLE works; what's being mapped form the source category? Populated instances of the DB are functors from the schema to Set, I remember that much
2023-06-05 13:02:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 13:04:15 +0200 <kuribas> dminuoso: yeah, an isomorphism, but also over parts.
2023-06-05 13:04:38 +0200 <kuribas> jackdk: cool, that was something I considered.
2023-06-05 13:05:04 +0200chromoblob(~user@37.113.158.8)
2023-06-05 13:05:38 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-9cbe-3a69-612d-747d.rev.sfr.net) (Remote host closed the connection)
2023-06-05 13:05:57 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-f001-e2ce-6e99-4f91.rev.sfr.net)
2023-06-05 13:06:27 +0200 <kuribas> jackdk: but what if some objects are spread out in the second schema?
2023-06-05 13:06:46 +0200mmhat(~mmh@p200300f1c706681cee086bfffe095315.dip0.t-ipconnect.de)
2023-06-05 13:07:05 +0200 <jackdk> kuribas: sorry, I haven't read the chapter in enough detail to answer your question
2023-06-05 13:07:21 +0200gurkenglas(~user@dynamic-046-114-181-157.46.114.pool.telefonica.de)
2023-06-05 13:08:37 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-06-05 13:09:33 +0200boukenshaou(~Boukensha@115.248.21.178)
2023-06-05 13:10:57 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 13:11:31 +0200xff0x_(~xff0x@ai098135.d.east.v6connect.net)
2023-06-05 13:12:39 +0200hyvoid(~hyenavoid@222-0-178-69.static.gci.net)
2023-06-05 13:13:57 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
2023-06-05 13:14:19 +0200abrantesasf(~abrantesa@177.137.232.92)
2023-06-05 13:14:42 +0200mmhat(~mmh@p200300f1c706681cee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
2023-06-05 13:15:38 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 13:18:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 13:18:29 +0200bontaq(~user@ool-45779b84.dyn.optonline.net)
2023-06-05 13:20:53 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 13:23:20 +0200 <kuribas> jackdk: no problem, I'll look at that paper.
2023-06-05 13:25:49 +0200boukenshaou(~Boukensha@115.248.21.178) (Remote host closed the connection)
2023-06-05 13:28:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 13:29:45 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 13:36:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 13:40:02 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 13:40:48 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
2023-06-05 13:42:42 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 13:48:11 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-f001-e2ce-6e99-4f91.rev.sfr.net) (Remote host closed the connection)
2023-06-05 13:48:31 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-f001-e2ce-6e99-4f91.rev.sfr.net)
2023-06-05 13:50:42 +0200taupiqueur1(~taupiqueu@2a02-842a-8180-4601-c090-5725-b02b-48b7.rev.sfr.net)
2023-06-05 13:51:50 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection)
2023-06-05 13:52:08 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
2023-06-05 13:53:08 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-f001-e2ce-6e99-4f91.rev.sfr.net) (Ping timeout: 245 seconds)
2023-06-05 13:53:24 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-9cbe-3a69-612d-747d.rev.sfr.net) (Ping timeout: 250 seconds)
2023-06-05 13:56:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 14:00:52 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 14:05:06 +0200{-d0t-}(~{-d0t-}@user/-d0t-/x-7915216)
2023-06-05 14:05:08 +0200{-d0t-}_d0t
2023-06-05 14:06:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 14:09:26 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
2023-06-05 14:10:40 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 14:10:45 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 14:13:48 +0200xff0x_(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds)
2023-06-05 14:14:48 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2023-06-05 14:15:58 +0200xff0x_(~xff0x@178.255.149.135)
2023-06-05 14:17:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 14:17:46 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Write error: Broken pipe)
2023-06-05 14:17:46 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-06-05 14:17:58 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-06-05 14:18:02 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2023-06-05 14:18:17 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2023-06-05 14:20:52 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-05 14:23:05 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-06-05 14:23:41 +0200 <_d0t> ohai. How can I make this piece of code (https://bpa.st/QOX7E) work? It seems that Type Families and RankNTypes are mutually incompatible.
2023-06-05 14:25:04 +0200 <Axman6> "NB: ‘F’ is a non-injective type family" feels relevant
2023-06-05 14:25:49 +0200 <_d0t> Axman6: it truly does. I know I could just cast this to Any, but seems like an even uglier hack.
2023-06-05 14:26:51 +0200 <Axman6> out of curiosity, if you give the newtyp argumeent a field name, what types does the accessor get?
2023-06-05 14:27:11 +0200 <_d0t> It throws a similar error :-)
2023-06-05 14:27:45 +0200 <Axman6> so, you can define T without the name, but not with one?
2023-06-05 14:28:58 +0200 <_d0t> No, I can't do either of those.
2023-06-05 14:29:21 +0200xff0x_(~xff0x@178.255.149.135) (Ping timeout: 250 seconds)
2023-06-05 14:31:26 +0200xff0x_(~xff0x@ai098135.d.east.v6connect.net)
2023-06-05 14:33:19 +0200 <kuribas> _d0t: you have an existential 'a'.
2023-06-05 14:33:25 +0200 <kuribas> You cannot extract that.
2023-06-05 14:34:43 +0200 <_d0t> kuribas: i figured that from the compiler error. How can I rewrite this to make it work?
2023-06-05 14:35:18 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 14:36:38 +0200 <_d0t> data T = forall a. C a => T (F a)
2023-06-05 14:36:43 +0200 <kuribas> oh wait, it's not an existential.
2023-06-05 14:36:43 +0200 <_d0t> Something like this doesn't work either.
2023-06-05 14:37:08 +0200 <_d0t> But here it doesn't pass the ambiguity check.
2023-06-05 14:37:31 +0200 <_d0t> works with AllowAmbiguousTypes but I would really like to avoid this extension.
2023-06-05 14:37:47 +0200 <kuribas> oh, that one is fairly harmless.
2023-06-05 14:38:00 +0200 <_d0t> it also requires unsafeCoerce.
2023-06-05 14:38:07 +0200 <kuribas> that one is pretty harmful :)
2023-06-05 14:39:00 +0200 <_d0t> Haha figures.
2023-06-05 14:39:45 +0200monoidal(~monoidal@2a01cb0801ce4b009c4c2b3639727234.ipv6.abo.wanadoo.fr)
2023-06-05 14:41:49 +0200zxrom(~zxrom@mm-26-33-212-37.vitebsk.dynamic.pppoe.byfly.by)
2023-06-05 14:43:27 +0200monoidal(~monoidal@2a01cb0801ce4b009c4c2b3639727234.ipv6.abo.wanadoo.fr) (Client Quit)
2023-06-05 14:43:35 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-c090-5725-b02b-48b7.rev.sfr.net)
2023-06-05 14:44:25 +0200monoidal(~monoidal@2a01cb0801ce4b009c4c2b3639727234.ipv6.abo.wanadoo.fr)
2023-06-05 14:44:37 +0200ripspin(~chatzilla@1.145.165.189)
2023-06-05 14:45:53 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-06-05 14:46:24 +0200cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2023-06-05 14:46:36 +0200chiselfuse(~chiselfus@user/chiselfuse)
2023-06-05 14:48:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 14:48:55 +0200 <kuribas> _d0t: it works with a type application: https://gist.github.com/kuribas/30a2539a1a00f3e3759c1d2107df9fa5
2023-06-05 14:49:08 +0200 <kuribas> also renamed all the 'a's to unique types.
2023-06-05 14:49:10 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-05 14:49:17 +0200 <_d0t> oh wow..
2023-06-05 14:49:26 +0200 <_d0t> This is magic. Thank you!
2023-06-05 14:49:30 +0200 <kuribas> np :)
2023-06-05 14:49:49 +0200 <_d0t> Meanwhile, I managed to rewrite this with some Typeable casts.
2023-06-05 14:51:02 +0200 <kuribas> it makes sense, T is basically a function from a, if you don't pass the right type ghc is lost.
2023-06-05 14:51:16 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 14:51:28 +0200 <kuribas> You assume that it could find 'a', because it knows 'F a' == 'F b', but that's not true in general.
2023-06-05 14:51:33 +0200 <kuribas> only if F is injective.
2023-06-05 14:51:50 +0200 <_d0t> Figures.
2023-06-05 14:52:01 +0200 <_d0t> I'm going to stick to Typeable for now.
2023-06-05 14:52:16 +0200 <_d0t> Thank you anyway!
2023-06-05 14:52:28 +0200 <kuribas> I am sure you don't need Typeable.
2023-06-05 14:52:45 +0200 <_d0t> F is not injective in my case.
2023-06-05 14:53:09 +0200 <_d0t> Typeable is there only to provide some safety in the form of a readable error message.
2023-06-05 14:53:24 +0200 <kuribas> ok
2023-06-05 14:54:03 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 250 seconds)
2023-06-05 14:54:55 +0200__monty__(~toonn@user/toonn) (Ping timeout: 250 seconds)
2023-06-05 14:56:32 +0200jle`(~jle`@23.240.75.236)
2023-06-05 14:57:25 +0200cheater(~Username@user/cheater)
2023-06-05 14:57:50 +0200meinside(uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2023-06-05 15:00:17 +0200ripspin(~chatzilla@1.145.165.189) (Read error: Connection reset by peer)
2023-06-05 15:01:16 +0200 <Inst> probie: I guess this is offensive, but is Haskell, barring library and ecosystem issues, suited to replacing entirely C# and Java?
2023-06-05 15:02:27 +0200 <int-e> it's not meant to
2023-06-05 15:02:51 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
2023-06-05 15:03:05 +0200 <kuribas> Inst: replacing in what sense?
2023-06-05 15:03:13 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 15:03:14 +0200 <kuribas> Build up a business on top of only haskell, sure you can do that.
2023-06-05 15:03:41 +0200 <kuribas> Migrating massive C# codebases to haskell, probably not.
2023-06-05 15:04:04 +0200 <kuribas> And even if possible, it probably wouldn't be a good strategy.
2023-06-05 15:04:19 +0200 <Axman6> without a good reasson at least
2023-06-05 15:04:39 +0200 <kuribas> right. If you are already doing a rewrite, you might as well pick haskell.
2023-06-05 15:05:21 +0200 <Inst> kuribas: in the sense of being a better general-purpose language for enterprise
2023-06-05 15:05:33 +0200 <_d0t> Inst: it isn't
2023-06-05 15:05:54 +0200oo_miguel(~Thunderbi@77.252.47.84) (Quit: oo_miguel)
2023-06-05 15:05:56 +0200 <Inst> in the sense that the libraries / ecosystem isn't there, and dearth of qualified haskellers
2023-06-05 15:06:04 +0200 <_d0t> Inst: or at least, it's only as good as your programmers. And I've seen too much awful code in Haskell in my life.
2023-06-05 15:06:43 +0200 <kuribas> Inst: probably not
2023-06-05 15:06:45 +0200 <dminuoso> Inst: The comparison is deeply flawed.
2023-06-05 15:06:53 +0200 <dminuoso> The success of C# is centered around .NET.
2023-06-05 15:07:19 +0200 <dminuoso> And similarly much of Java success can be attributed to an incredibly portable JRE that fits very well into polyglot scenarios too
2023-06-05 15:08:10 +0200 <dminuoso> (And similarly is also why Java is so portable)
2023-06-05 15:10:22 +0200 <Inst> whereas here windows and arm support isn't wholly there
2023-06-05 15:10:58 +0200 <Inst> _d0t: would you say, there's no standard Haskell production idiom that doesn't suck?
2023-06-05 15:11:20 +0200irfan(~irfan@user/irfan)
2023-06-05 15:11:21 +0200 <dminuoso> All software sucks, depending on who you ask.
2023-06-05 15:11:43 +0200 <_d0t> Inst: no. I would say that Haskell won't save you from a mess that unqualified people are going to create.
2023-06-05 15:12:06 +0200 <Inst> i see, just guessing, what kind of mess?
2023-06-05 15:12:14 +0200 <Inst> the only mess i know of is the eric normand mess, i.e, everything was in IO
2023-06-05 15:12:44 +0200 <_d0t> Inst: enormous amounts of unreadable code with no documentation whatsoever, half of it using lens
2023-06-05 15:13:21 +0200 <geekosaur> there's also the messes that no code or technology can fix, such as mis-specified or underspecified requirements
2023-06-05 15:13:39 +0200 <Inst> point-free abuse?
2023-06-05 15:14:14 +0200 <_d0t> Inst: look, you seem to be having it backwards. Haskell is a tool. If you have a tight team that works together nicely and they all know Haskell, then go for it.
2023-06-05 15:14:24 +0200 <_d0t> But this applies to any programming language out there.
2023-06-05 15:14:34 +0200 <dminuoso> Haskell guarantees reliable software roughly the same way a quality toolkit guarantees a reliable house.
2023-06-05 15:14:53 +0200 <dminuoso> Not at all, but with skilled workers you get better assurances.
2023-06-05 15:15:09 +0200 <Axman6> claiming lens is unreadable is a bit disingenuous, it's not like it's a hard DSL to use or learn
2023-06-05 15:15:17 +0200 <dminuoso> Axman6: Oh thats brave.
2023-06-05 15:15:20 +0200 <Inst> the assumption i'm making is that haskell isn't fully production ready, partially in the library sense, partially in the social sense; i.e, best practices aren't well-known
2023-06-05 15:15:37 +0200 <Inst> any language can be abused
2023-06-05 15:15:40 +0200 <_d0t> Inst: it just so happens that some people who are good at programming also prefer Haskell, which seems to be caused by the fact that Haskell has a higher entry barrier.
2023-06-05 15:16:02 +0200 <Axman6> the majority of what people actually use in lens is very reasable once you know a few operators
2023-06-05 15:16:15 +0200 <Axman6> readable*
2023-06-05 15:16:19 +0200 <_d0t> Axman6: no, but lens provoke "typechecking code into existence". Aka hammering in various operators until it typechecks and seemingly works.
2023-06-05 15:16:38 +0200 <Inst> "type tetris"
2023-06-05 15:16:38 +0200 <Axman6> I strongly disagree
2023-06-05 15:16:46 +0200 <_d0t> Axman6: I mean, I've seen this happen :)
2023-06-05 15:16:46 +0200 <dminuoso> "best practices" is a strange notion that usually arises amongst very inexperienced developers that hope by just following some set of rigid guidelines will increase the value of their code.
2023-06-05 15:17:00 +0200 <_d0t> You can disagree, but this won't change my personal experience with people writing code this way.
2023-06-05 15:17:00 +0200 <dminuoso> The longer I do software development, the less I believe in it.
2023-06-05 15:17:05 +0200 <Axman6> sure, but that's not the norm for lens, particularly used in production
2023-06-05 15:17:18 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-06-05 15:17:21 +0200 <Axman6> dminuoso: amen
2023-06-05 15:18:25 +0200 <irfan> dminuoso: agreed on the "best practices" bit.
2023-06-05 15:18:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 15:19:00 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-06-05 15:19:11 +0200 <_d0t> My personal grudge with lens is that lens increase compile times dramatically, mostly due to the underlying use of Generic.
2023-06-05 15:19:16 +0200 <Inst> i mean it's a very developer-oriented attitude when language choice is usually that of management's
2023-06-05 15:19:55 +0200 <_d0t> Inst: it's not
2023-06-05 15:19:57 +0200 <dminuoso> For me what counts for "production ready" is: a) stability of API. b) documentation of usage. c) maintanenace. d) availability of libraries for my problem domain.
2023-06-05 15:20:11 +0200 <Axman6> knowing "worst practices" is probably more useful, know the things which will lead to poor code, and then have the knowledge to apply what left to the situation at hand
2023-06-05 15:20:17 +0200 <dminuoso> And all of that is specific to a transitive dependency closure.
2023-06-05 15:20:30 +0200 <dminuoso> The problems I solve with Haskell has libraries that check all those boxes.
2023-06-05 15:20:43 +0200 <dminuoso> For others it may be different
2023-06-05 15:20:46 +0200 <Axman6> _d0t: what underlying use of Generic? some exists, but it's not like you need to use Generic for anything
2023-06-05 15:20:56 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 15:21:02 +0200 <dminuoso> And none of these things have to do with language itself really.
2023-06-05 15:21:26 +0200 <_d0t> Axman6: you need Generic for generic-lens :)
2023-06-05 15:21:29 +0200 <Inst> "will this choice lead to acceptable business outcomes?"
2023-06-05 15:21:45 +0200 <Axman6> we weren't talking about generic-lens were we?
2023-06-05 15:21:57 +0200 <Inst> also, i guess, and I'm not sure because my source is someone who deserves to be a notorious known Haskell hater and Clojure fanboy
2023-06-05 15:22:18 +0200 <Inst> but apparently Hasura proved the point, they supposedly were looking for randoms from Indian IITs or whoever they could pick up to train in Haskell
2023-06-05 15:22:18 +0200 <_d0t> Axman6: so many projects use the two libraries together
2023-06-05 15:22:30 +0200 <Inst> that failed, now they hire senior engineer types, but only if you trust that source
2023-06-05 15:22:57 +0200 <Axman6> why are you so obsessed with popularity and fanboyism Inst? It;s reallt tedious - just get shit done and don't worry too much about what people think is popular and cool
2023-06-05 15:23:15 +0200 <irfan> i think best/worst practices make sense but only when beginners understand the reasons behind them. what is questionable is "following/avoiding" best/worst practices based only on random advice with zero conceptual backing.
2023-06-05 15:24:24 +0200 <irfan> which is regrettably pretty widespread.
2023-06-05 15:24:38 +0200 <dminuoso> irfan: It's at best only guidance for the inexperienced. But there rapidly should come a point where you understand a library, a set of idioms or an ecosystem and decide for yourself.
2023-06-05 15:24:38 +0200 <Axman6> _d0t: none that I've worked with in production, using template haskell is much more common
2023-06-05 15:24:51 +0200 <irfan> dminuoso: sure.
2023-06-05 15:24:59 +0200 <_d0t> Axman6: the opposite here
2023-06-05 15:25:01 +0200ripspin(~chatzilla@1.145.181.21)
2023-06-05 15:25:04 +0200 <dminuoso> Axman6: Is cross compilation is not needed, TH is clearly superior to Generic.
2023-06-05 15:25:13 +0200 <dminuoso> For everybody.
2023-06-05 15:25:22 +0200 <_d0t> dminuoso: not when GHCJS is involved
2023-06-05 15:25:28 +0200 <_d0t> but this is another huge can of worms
2023-06-05 15:25:42 +0200 <kuribas> Inst: haskell is production ready, and haskell should replace all C# programs, are two wildly differing statements.
2023-06-05 15:25:51 +0200 <dminuoso> _d0t: Ive been longing for something like TH but without linkage.
2023-06-05 15:26:02 +0200 <_d0t> dminuoso: so have we all
2023-06-05 15:26:14 +0200 <dminuoso> Or some separate linkage model.. mmm
2023-06-05 15:26:29 +0200 <_d0t> with GHCJS, every TH splice launches a separate node process which takes something on the order of up to 10 seconds to finish.
2023-06-05 15:26:40 +0200 <_d0t> So, every splice adds up to 10 second to your compile time.
2023-06-05 15:26:43 +0200 <Inst> kuribas: i mean in a social role, i.e, that at some point in time, it'd be suitable as a standard enterprise language
2023-06-05 15:26:50 +0200 <dminuoso> _d0t: Hah, that can still be faster than Generic!
2023-06-05 15:26:53 +0200 <Axman6> Eh, I quite like the generic-lens approach, but haven't used it much. I do wish there was a more efficient way to compile it
2023-06-05 15:27:20 +0200 <_d0t> sometimes I wish I could go back to writing C
2023-06-05 15:27:23 +0200 <dminuoso> I've had examples of cutting down compilation time from several minutes to <2s by just switching some ~30ish Generic instances with JSON.
2023-06-05 15:27:45 +0200 <Axman6> _d0t: you actually can (:
2023-06-05 15:27:52 +0200 <_d0t> dminuoso: JSON in Haskell is in a such sorry state, it's not even funny
2023-06-05 15:27:56 +0200 <_d0t> Axman6: Haskell pays better
2023-06-05 15:28:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 15:28:09 +0200 <dminuoso> _d0t: well `json` is fine. `aeson` is not.
2023-06-05 15:28:16 +0200 <dminuoso> Its an ecosystem problem
2023-06-05 15:28:25 +0200 <Axman6> looked at waargonaut?
2023-06-05 15:28:27 +0200 <_d0t> dminuoso: right, and since there are no other json libraries. You kinda see my point.
2023-06-05 15:28:29 +0200 <dminuoso> And in part the problems have to do with orphan instances, cabal flags, and so on
2023-06-05 15:28:38 +0200 <Axman6> _d0t: waargonaut
2023-06-05 15:28:46 +0200 <dminuoso> Axman6: thats just as complex and heavy in terms of dependencies.
2023-06-05 15:28:49 +0200 <kuribas> Inst: doubtfully, considering the weird directions enterprise software take.
2023-06-05 15:28:59 +0200 <_d0t> dminuoso: no, this isn't what I mean. Aeson's performance is just atrocious.
2023-06-05 15:29:02 +0200 <dminuoso> My issues with aeson is not that I dont agree with some ergonomic choices, its that imposes 17% of hackage onto me.
2023-06-05 15:29:03 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 15:29:16 +0200 <Axman6> why are dependencies an issue?
2023-06-05 15:29:29 +0200 <dminuoso> Compilation time, and frequent build plan breakge.
2023-06-05 15:29:32 +0200 <kuribas> Like either no-code java xml BS, or dumbed down "everything is javascript".
2023-06-05 15:29:45 +0200 <dminuoso> And it poses auditing problems.
2023-06-05 15:29:47 +0200 <Axman6> the former should be a one off cost
2023-06-05 15:30:00 +0200 <dminuoso> Unlike probably 99,99% of haskellers, I do audit transitive closure changes.
2023-06-05 15:30:09 +0200 <dminuoso> The larger the transitive closuer, the more work I have to do after bumping dependencies.
2023-06-05 15:30:23 +0200 <Axman6> and I've rarely found that for apps (as opposed to libraries), those breakages are usually minor and easily fixed
2023-06-05 15:30:54 +0200 <_d0t> Axman6: dependency creep is real. My employer's main project takes almost half an hour to build from scratch on my Threadripper
2023-06-05 15:31:06 +0200 <_d0t> Axman6: mostly because aeson, lens, and a few other things
2023-06-05 15:31:35 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-06-05 15:31:40 +0200 <dminuoso> Yup, similar story here.
2023-06-05 15:32:11 +0200 <_d0t> Haskell's compile times are already atrocious, and the sheer amount of code to build doesn't help exactly.
2023-06-05 15:32:30 +0200 <_d0t> I'm actually thinking about making a much simpler almost no dependencies JSON library at this point.
2023-06-05 15:32:43 +0200 <dminuoso> _d0t: https://hackage.haskell.org/package/json
2023-06-05 15:32:46 +0200 <dminuoso> Already exists.
2023-06-05 15:32:55 +0200 <dminuoso> Performance is okayish if thats fine.
2023-06-05 15:33:06 +0200 <_d0t> dminuoso: splendid!
2023-06-05 15:33:39 +0200 <_d0t> i'd replace String with ByteString and Text there and it would be good to go.
2023-06-05 15:34:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 15:34:20 +0200 <dminuoso> Since text-2.0 it's a good idea. Before, dunno.
2023-06-05 15:34:35 +0200 <_d0t> Also, a huge portion of aeson's performance penalties come from the fact that they build KeyMap.
2023-06-05 15:34:45 +0200 <_d0t> And Map isn't exactly the most efficient data structure in Haskell.
2023-06-05 15:35:07 +0200 <_d0t> newtype JSObject e = JSONObject { fromJSObject :: [(String, e)] }
2023-06-05 15:35:10 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 15:35:12 +0200cheater_(~Username@user/cheater)
2023-06-05 15:35:15 +0200 <_d0t> ah welp.. this is somewhat worse
2023-06-05 15:35:31 +0200 <dminuoso> _d0t: mmm the performance characterstics really depends on what kind of objects you hold.
2023-06-05 15:35:59 +0200 <_d0t> dminuoso: I have a nicely named repo here :)
2023-06-05 15:36:01 +0200 <_d0t> https://github.com/greydot/aeson-shits-its-pants
2023-06-05 15:36:03 +0200 <_d0t> Pardon my french
2023-06-05 15:36:05 +0200cheater(~Username@user/cheater) (Ping timeout: 250 seconds)
2023-06-05 15:36:07 +0200cheater_cheater
2023-06-05 15:36:08 +0200 <dminuoso> _d0t: I dont quite know about that. Formally that type is faithful to the JSON format.
2023-06-05 15:36:15 +0200 <dminuoso> *much* more than Map or hashMap
2023-06-05 15:36:26 +0200 <dminuoso> { "foo": 1, "foo": 2 } is legit json
2023-06-05 15:36:40 +0200 <_d0t> TL;DR parsing a 14 megabyte JSON causes aeson to munch on 560 megabytes of RAM
2023-06-05 15:36:51 +0200machinedgod(~machinedg@93-136-226-84.adsl.net.t-com.hr)
2023-06-05 15:37:01 +0200 <dminuoso> We should unpack `mason` and `flatparse`
2023-06-05 15:37:19 +0200Lycurgus(~juan@user/Lycurgus)
2023-06-05 15:37:21 +0200 <Axman6> I actually wrote a flat parse json parser...
2023-06-05 15:37:23 +0200 <dminuoso> And make something sleek, small, and fast.
2023-06-05 15:37:27 +0200 <dminuoso> Axman6: Go share!
2023-06-05 15:37:35 +0200 <Axman6> and my last name's mason (:
2023-06-05 15:37:38 +0200 <dminuoso> Haha.
2023-06-05 15:37:38 +0200 <_d0t> i was thinking about writing that...
2023-06-05 15:37:42 +0200titibandit(~titibandi@user/titibandit)
2023-06-05 15:37:49 +0200 <dminuoso> flatparse is by far my favourite parsing library. :)
2023-06-05 15:38:03 +0200 <dminuoso> Who cares about streaming interfaces or custom monad transformers.
2023-06-05 15:39:09 +0200 <Axman6> parsing speed was basically identical to aeson. it parses into aeson's Value but just because it did what I needed
2023-06-05 15:39:25 +0200 <Inst> Axman: when I bring up my source, I'm just saying he'd be unreliable and jaundiced, he more or less admitted to me he had a bone to pick with Haskell for years, so I guess implicitly I was looking for corroboration of what happened with Hasura
2023-06-05 15:39:30 +0200 <_d0t> aeson's Value is the main source of memory use actually
2023-06-05 15:40:08 +0200 <dminuoso> What representation would you prefer?
2023-06-05 15:40:36 +0200 <Axman6> dminuoso: _d0t: very much a WIP https://github.com/axman6/aeson-flatparse
2023-06-05 15:41:11 +0200 <Axman6> what happened with Hasura?
2023-06-05 15:41:15 +0200 <_d0t> dminuoso: I was thinking about using small integer shifts for keys to extract them and functions for values to provide on-demand parsing
2023-06-05 15:41:20 +0200 <Inst> As far as popularity goes; I guess the issue for the Haskell community is more that the ratio of jobs to developers is unfavorable, so additional popularity would be unwelcome, especially if it leads to more terrible Haskell codebases
2023-06-05 15:41:23 +0200 <dminuoso> Axman6: You should make it ParserT polymorphic! :)
2023-06-05 15:42:11 +0200 <_d0t> dminuoso: basically, a parsed value would be represented by a small array of integers plus the original JSON.
2023-06-05 15:42:17 +0200 <_d0t> I probably should throw a prototype some time.
2023-06-05 15:42:28 +0200vandita(~vandit@178-164-206-64.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-06-05 15:42:30 +0200 <Axman6> also, sounds like Jon HArrop back in in the day, who had a vendetta against Haskell, writing amazingly disingenuous blog posts showing how bad Haskell is if you write bad haskell, compared to writing good F#
2023-06-05 15:43:05 +0200 <Axman6> _d0t: you want https://github.com/haskell-works/hw-json
2023-06-05 15:43:08 +0200 <Inst> Axman6: that they started by hiring random Indian developers for their software, training them, then found out that it didn't work out and switched to looking for senior Haskell devs.
2023-06-05 15:43:20 +0200 <_d0t> Axman6: i saw it and it's not exactly what I want
2023-06-05 15:43:33 +0200 <_d0t> but close, yeah
2023-06-05 15:43:38 +0200 <Axman6> _d0t: it is _very_ fast though =)
2023-06-05 15:43:57 +0200 <Inst> As for bad Haskell, I'm told when Juspay, currently a Monad-tier sponsor of HF, adopted Purescript, their devs were just looking up cheatsheets and it's probable that they have some bad Purescript / Haskell code as a consequence
2023-06-05 15:44:06 +0200 <dminuoso> _d0t: Mm I dont quite understand what you meant by "small integer shifts"
2023-06-05 15:44:28 +0200vandita(~vandit@78-131-74-110.pool.digikabel.hu)
2023-06-05 15:45:07 +0200 <_d0t> dminuoso: shift from the start of json. There is no need to store keys separately when you can just point to the place in the JSON, except Haskell pointers are enormous (8 bytes) and you can actually save a lot of space by using some smaller integer.
2023-06-05 15:45:17 +0200 <_d0t> s/shift/offset/
2023-06-05 15:45:18 +0200 <Axman6> hw-json is basically an encoding of that idea, it uses succinct data structures to store the byte offsets to each type of json value
2023-06-05 15:46:06 +0200 <dminuoso> _d0t: Oh, so you mean just offsets into the original (or some normalized) json buffer.
2023-06-05 15:46:14 +0200 <_d0t> Axman6: i know. I mean, I'm entertaining about the same idea, but with a slightly different approach to it.
2023-06-05 15:46:16 +0200 <_d0t> dminuoso: yeah
2023-06-05 15:47:08 +0200 <_d0t> tbh succinct structures in haskell need more love
2023-06-05 15:47:19 +0200 <dminuoso> _d0t: So for object you would have `data Value = Object [(Key, Int)] | ...` or some such?
2023-06-05 15:47:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 15:47:31 +0200 <dminuoso> Oh well, plus a ByteString reference
2023-06-05 15:47:33 +0200 <Axman6> John's got it all sitting there for you :)
2023-06-05 15:48:04 +0200 <_d0t> dminuoso: basically
2023-06-05 15:48:36 +0200 <Axman6> dminuoso: more likely (Int,Int) (or data ObjectVal = OV !Word32 !Word32)
2023-06-05 15:49:01 +0200 <dminuoso> What would that first integer represent?
2023-06-05 15:49:07 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 15:49:09 +0200 <dminuoso> An offset into a dictionary?
2023-06-05 15:49:16 +0200 <Axman6> offset to the key in the original bytestring
2023-06-05 15:49:17 +0200nate2(~nate@98.45.169.16)
2023-06-05 15:49:24 +0200 <dminuoso> Ah sure.
2023-06-05 15:50:05 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-06-05 15:50:05 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-06-05 15:50:05 +0200wroathe(~wroathe@user/wroathe)
2023-06-05 15:50:07 +0200 <dminuoso> So list would be `| List Word32 Word32` with an offset and a length?
2023-06-05 15:50:13 +0200 <dminuoso> (assuming the json is normalized here)
2023-06-05 15:50:13 +0200 <Axman6> CBOR has a cool notion of storing a cache of previously seen strings, which is fantastic for json like data with heaps of repeated keys
2023-06-05 15:51:09 +0200 <Axman6> I would've said Vector Word32
2023-06-05 15:51:24 +0200 <dminuoso> That seems excessive.
2023-06-05 15:51:41 +0200 <dminuoso> Unless you dont want to normalize
2023-06-05 15:51:49 +0200 <Axman6> mens you have constant time access to any element of the list though
2023-06-05 15:51:50 +0200 <dminuoso> And it should ne an unboxed vector at minimum
2023-06-05 15:52:02 +0200 <Axman6> yeah, that was iplied
2023-06-05 15:52:07 +0200 <Axman6> m*
2023-06-05 15:52:22 +0200 <dminuoso> Though I think normalizing first and `List Word32 Word32` will be way more efficient.
2023-06-05 15:53:20 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
2023-06-05 15:53:25 +0200 <Axman6> one of the reasons why cborg's parser has a ST like type is because I wanted to be able to build up unknown length arrays effeciently
2023-06-05 15:53:27 +0200 <dminuoso> But I guess this gets deeper into whether you may want to stream or not
2023-06-05 15:53:42 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 15:53:52 +0200 <dminuoso> Axman6: You can do that with flatparse too.
2023-06-05 15:53:57 +0200 <Axman6> yeah - there are a million different choices you can go with
2023-06-05 15:54:13 +0200 <dminuoso> flatparse since a while ago is able to run in a pure mode, or over IO or ST
2023-06-05 15:54:17 +0200 <_d0t> like getting rid of json entirely and using s-exp :3
2023-06-05 15:54:25 +0200 <_d0t> or at least i often think of this
2023-06-05 15:54:31 +0200nate2(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2023-06-05 15:54:33 +0200 <_d0t> sorry, but s-exp is just a superior format
2023-06-05 15:55:01 +0200 <dminuoso> YAML is a superior format.
2023-06-05 15:55:04 +0200abrantesasf(~abrantesa@177.137.232.92) (Remote host closed the connection)
2023-06-05 15:55:17 +0200 <_d0t> welp...
2023-06-05 15:55:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 15:55:20 +0200 <dminuoso> The complexity YAML parser is close to a fully compliant XML parser! :)
2023-06-05 15:55:22 +0200 <_d0t> parsing it would be hell
2023-06-05 15:55:30 +0200 <dminuoso> YAML is so absurdly complicated.
2023-06-05 15:56:21 +0200 <Axman6> dminuoso: why wouldn't you want 64 different ways to format a string?
2023-06-05 15:56:40 +0200 <dminuoso> So I can figure out whether YAML is turing complete or not.
2023-06-05 15:57:16 +0200 <dminuoso> At least YAML even has a specification. As far as markup languages go, it could be much worse.
2023-06-05 15:57:18 +0200shriekingnoise(~shrieking@186.137.175.87) (Quit: Quit)
2023-06-05 15:57:36 +0200 <dminuoso> You could be looking at markdown and end up with... hundreds of flavours, none of them standardized in terms of production rules or semantics.
2023-06-05 15:57:37 +0200 <_d0t> yaml is banned in Norway
2023-06-05 15:57:44 +0200 <dminuoso> Legally? Sounds sensible.
2023-06-05 15:57:47 +0200 <_d0t> can't use it
2023-06-05 15:57:59 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-06-05 15:58:06 +0200 <Axman6> Referencing an ex-colleague of mine https://stackoverflow.com/questions/3790454/how-do-i-break-a-string-in-yaml-over-multiple-lines/21… which lead to the creation of https://yaml-multiline.info
2023-06-05 15:58:33 +0200 <dminuoso> _d0t: You could also petition to change the name of your country.
2023-06-05 15:58:41 +0200 <_d0t> dminuoso: it's not my country :D
2023-06-05 15:58:52 +0200 <Axman6> there is a standard for markdown, called Commonmark, and it's enormous (brought to you by the author of pandoc IIRC)
2023-06-05 15:58:54 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 15:59:14 +0200 <dminuoso> Axman6: Haha!
2023-06-05 15:59:16 +0200 <dminuoso> I love it.
2023-06-05 15:59:24 +0200 <dminuoso> https://commonmark.org/ `Learn Markdown in 60 Seconds`
2023-06-05 15:59:26 +0200 <Axman6> "Yaml? There's norway I'm usin' that!"
2023-06-05 15:59:43 +0200 <dminuoso> https://spec.commonmark.org/0.30/ -> 125 pages
2023-06-05 15:59:44 +0200titiband1t(~titibandi@user/titibandit)
2023-06-05 16:00:06 +0200 <dminuoso> Axman6: Though just skimming it, its a very informal specification.
2023-06-05 16:00:10 +0200 <Axman6> MArkdown is like C++
2023-06-05 16:00:19 +0200 <dminuoso> C++ at least is fully specified!
2023-06-05 16:00:27 +0200 <Axman6> is it though?
2023-06-05 16:00:31 +0200 <dminuoso> ITs problem is that sometimes not even the committee quite knows what the specification means
2023-06-05 16:00:39 +0200 <_d0t> this is why my repos contain README.org and not README.md
2023-06-05 16:00:47 +0200 <dminuoso> Its how non-constant constexpr happened.
2023-06-05 16:00:59 +0200 <Axman6> u wot m8?
2023-06-05 16:01:03 +0200 <Axman6> excuse me?
2023-06-05 16:01:17 +0200 <dminuoso> Axman6: https://b.atch.se/posts/non-constant-constant-expressions/
2023-06-05 16:01:37 +0200 <dminuoso> It's pure evil interplay of the semantics of C++.
2023-06-05 16:01:43 +0200 <_d0t> dminuoso: i bet there's UB somewhere
2023-06-05 16:01:46 +0200 <dminuoso> _d0t: Nope!
2023-06-05 16:01:48 +0200 <dminuoso> Thats the best part of it.
2023-06-05 16:01:56 +0200 <dminuoso> It's fully standard well defined
2023-06-05 16:02:07 +0200 <_d0t> dminuoso: you can't possibly know that. The list of UB cases for C alone is 13 pages long, and C++ greatly expands on that!
2023-06-05 16:02:27 +0200 <dminuoso> _d0t: The entire trick is well documented and references specific rules.
2023-06-05 16:02:37 +0200 <dminuoso> But
2023-06-05 16:02:39 +0200 <_d0t> fine, fine
2023-06-05 16:02:40 +0200 <dminuoso> To be fair, who knows.
2023-06-05 16:02:47 +0200 <Axman6> I need to go to bed, I can't be reading this nightmare fuel
2023-06-05 16:02:51 +0200 <dminuoso> There might be some weird interplay of UB rules that makes this UB
2023-06-05 16:03:25 +0200 <dminuoso> Axman6: Ill give you a teaser: int main () { constexpr int a = f (); constexpr int b = f (); static_assert (a != b, "fail"); }
2023-06-05 16:03:35 +0200 <dminuoso> How to make that static assertion fail! In a conforming manner.
2023-06-05 16:03:36 +0200 <Axman6> Someone shared this one with me recently, it feels like it has to be fake, but... https://thedailywtf.com/articles/the-inner-json-effect
2023-06-05 16:04:31 +0200titiband1t(~titibandi@user/titibandit) (Ping timeout: 240 seconds)
2023-06-05 16:05:25 +0200 <probie> I saw this a few days ago. Are you sure it wasn't here? (I guess it might have been one of the sr.ht channels)
2023-06-05 16:06:18 +0200 <Axman6> It may have come form a common friend of ours probie
2023-06-05 16:06:40 +0200titiband1t(~titibandi@user/titibandit)
2023-06-05 16:06:43 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-06-05 16:06:48 +0200 <Axman6> from*
2023-06-05 16:08:50 +0200wroathe_(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-06-05 16:08:55 +0200wroathe(~wroathe@user/wroathe) (Quit: leaving)
2023-06-05 16:08:58 +0200wroathe_(~wroathe@207-153-38-140.fttp.usinternet.com) (Client Quit)
2023-06-05 16:09:17 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-06-05 16:09:17 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-06-05 16:09:17 +0200wroathe(~wroathe@user/wroathe)
2023-06-05 16:11:13 +0200arrowhead(~arrowhead@cpe-74-66-76-151.nyc.res.rr.com) (Remote host closed the connection)
2023-06-05 16:12:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 16:15:01 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
2023-06-05 16:16:03 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 16:16:38 +0200 <jade[m]> <Axman6> "Someone shared this one with..." <- this is so fake, but hillarious
2023-06-05 16:19:59 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 16:22:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 16:22:48 +0200 <Inst> I'm thinking about making a GUI app that compiles C code in Haskell
2023-06-05 16:23:10 +0200 <Inst> would it be easier to call gcc / clang or to write your own compiler?
2023-06-05 16:23:38 +0200 <dminuoso> Depends on your goals, really.
2023-06-05 16:23:46 +0200 <_d0t> Inst: depends on whether you want to suffer
2023-06-05 16:23:59 +0200 <dminuoso> In principle a C compiler is relatively easy to write *if* you target something like llvm.
2023-06-05 16:24:00 +0200 <_d0t> C isn't the easiest language to write a compiler for
2023-06-05 16:24:06 +0200 <geekosaur> or maybe help merijn make others suffer 🙂
2023-06-05 16:24:31 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 16:24:33 +0200 <geekosaur> (cf. maximally malevolent compiler)
2023-06-05 16:25:56 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 16:26:02 +0200 <Inst> i'm doing K&R in inline C with Haskell translations
2023-06-05 16:26:33 +0200 <dminuoso> Without knowing the requirements here, its hard to give advice
2023-06-05 16:26:34 +0200 <Inst> I think it'd be fun to make it so that the C exercises are actually visible in a GUI and can be edited
2023-06-05 16:26:48 +0200 <_d0t> Inst: so.. a text editor?
2023-06-05 16:26:55 +0200 <Inst> yeah
2023-06-05 16:27:01 +0200 <Inst> tbh i have a dream of building a Haskell IDE
2023-06-05 16:27:28 +0200 <_d0t> Inst: you're not the first guy to have it. We've had Yi and Leksah already.
2023-06-05 16:27:56 +0200 <dminuoso> My dream of a Haskell has been fulfilled since 1976.
2023-06-05 16:28:01 +0200 <dminuoso> s/Haskell/Haskell IDE/
2023-06-05 16:28:27 +0200 <_d0t> Speaking of. Does anyone actually use Intellij for Haskell?
2023-06-05 16:29:24 +0200 <Inst> _d0t: but make it a visual haskell editor pinned to some easy to use GUI framework
2023-06-05 16:29:44 +0200 <_d0t> Inst: there is no such thing as an easy to use GUI framework :(
2023-06-05 16:29:57 +0200oo_miguel(~Thunderbi@77.252.47.84)
2023-06-05 16:30:29 +0200 <_d0t> fwiw gui programming is cursed
2023-06-05 16:30:49 +0200 <Inst> what about electron / tauri?
2023-06-05 16:31:08 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
2023-06-05 16:31:18 +0200 <_d0t> it's abominable. Many electron apps are almost impossible to build reproducibly.
2023-06-05 16:31:42 +0200 <_d0t> if you take a peek at nixpkgs, they don't even bother building electron apps, instead repackaging existing upstream builds.
2023-06-05 16:31:54 +0200 <_d0t> yes, even when source code is available.
2023-06-05 16:32:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 16:33:23 +0200 <_d0t> not to mention that every electron app is a chrome process and thus a huge memory hog. Or that electron apps don't integrate with the rest of the system well. Say goodbye to proper font scaling, screen readers, theming, etc.
2023-06-05 16:33:31 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
2023-06-05 16:34:11 +0200 <_d0t> if I had a choice between writing electron apps or moving to Nepal to tend to mountain goats and never touch computers again, well... goats it is
2023-06-05 16:34:40 +0200euandreh(~Thunderbi@189.6.18.7) (Quit: euandreh)
2023-06-05 16:34:57 +0200euandreh(~Thunderbi@189.6.18.7)
2023-06-05 16:36:54 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 16:37:48 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Ping timeout: 240 seconds)
2023-06-05 16:40:35 +0200boukenshaou(~Boukensha@223.178.84.62)
2023-06-05 16:40:55 +0200motherfsck(~motherfsc@user/motherfsck)
2023-06-05 16:41:30 +0200 <Inst> k, Haskell's monomer is WIP, but it's relatively easy to use, and even can compile on Windows (without SDL) with a mild bit of msys config
2023-06-05 16:41:41 +0200Sgeo(~Sgeo@user/sgeo)
2023-06-05 16:44:28 +0200mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2023-06-05 16:44:44 +0200 <Inst> lol, and beats tauri for memory consumption
2023-06-05 16:45:21 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 16:47:39 +0200 <chromoblob> Inst: "Type tetris" is very funny
2023-06-05 16:47:55 +0200 <Inst> i thought that was standard slang for people just goofing off and trying to make the types match
2023-06-05 16:48:12 +0200 <Inst> also for newbies who are busy trying to unfold multiple monadic layers
2023-06-05 16:48:15 +0200 <_d0t> first time i'm seeing the term, but i like it
2023-06-05 16:48:29 +0200user____4(~user@dynamic-046-114-181-157.46.114.pool.telefonica.de)
2023-06-05 16:48:44 +0200gurkenglas(~user@dynamic-046-114-181-157.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-06-05 16:49:01 +0200 <Inst> https://www.google.com/search?q=%22type+tetris%22+haskell&ei=1PV9ZN7FGdTekvQP6fGHmAI&ved=0ahUKEwje…
2023-06-05 16:50:04 +0200 <Inst> surprised sm et al haven't made a Haskell game named type tetris that's a weird mix of tetris and haskell
2023-06-05 16:50:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 16:51:20 +0200 <Inst> and this is relevant to the gist of what you guys have been pushing: https://ozataman.medium.com/choosing-haskell-isnt-a-stand-in-for-good-software-design-7d893882f963
2023-06-05 16:52:01 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 16:52:31 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-06-05 16:52:31 +0200CiaoSen(~Jura@145.224.74.19) (Ping timeout: 240 seconds)
2023-06-05 16:53:20 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2023-06-05 17:00:00 +0200zxrom(~zxrom@mm-26-33-212-37.vitebsk.dynamic.pppoe.byfly.by) (Remote host closed the connection)
2023-06-05 17:00:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 17:00:24 +0200zxrom(~zxrom@mm-26-33-212-37.vitebsk.dynamic.pppoe.byfly.by)
2023-06-05 17:01:25 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 17:02:45 +0200 <jade[m]> <_d0t> "Speaking of. Does anyone..." <- did when learning it, wouldn't reccomend
2023-06-05 17:07:12 +0200tomku(~tomku@user/tomku) (Ping timeout: 248 seconds)
2023-06-05 17:09:01 +0200tomku(~tomku@user/tomku)
2023-06-05 17:09:12 +0200cheater_(~Username@user/cheater)
2023-06-05 17:11:08 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-06-05 17:11:17 +0200cheater_cheater
2023-06-05 17:14:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 17:15:44 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-06-05 17:16:54 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 17:23:45 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
2023-06-05 17:24:08 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 17:26:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 17:26:31 +0200shriekingnoise_(~shrieking@186.137.175.87)
2023-06-05 17:27:37 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com)
2023-06-05 17:29:05 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 17:29:11 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 250 seconds)
2023-06-05 17:29:11 +0200dtman34(~dtman34@76.156.89.180) (Ping timeout: 250 seconds)
2023-06-05 17:29:27 +0200dtman34(~dtman34@76.156.89.180)
2023-06-05 17:33:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 17:34:15 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 17:35:03 +0200acidjnk(~acidjnk@p200300d6e7072f49f87e9b16d0682c76.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2023-06-05 17:36:41 +0200cheater_(~Username@user/cheater)
2023-06-05 17:37:15 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
2023-06-05 17:37:37 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 17:38:41 +0200 <_d0t> jade[m]: care to elaborate?
2023-06-05 17:39:14 +0200gmg(~user@user/gehmehgeh)
2023-06-05 17:39:35 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2023-06-05 17:39:36 +0200cheater_cheater
2023-06-05 17:42:30 +0200 <jade[m]> VSCode or Vim seem like much better ways to me. The IntelliJ plugin was buggy and also didn't teach me properly how to set up a project or use a build tool because "green button -> code runs"
2023-06-05 17:42:41 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
2023-06-05 17:42:58 +0200 <_d0t> ah.. i use emacs. I'm just curious about intellij to try it every once in a while.
2023-06-05 17:43:50 +0200jonathan(~jonathan@c83-177-239-48.bredband.tele2.se)
2023-06-05 17:44:50 +0200acidjnk(~acidjnk@p200300d6e7072f49f87e9b16d0682c76.dip0.t-ipconnect.de)
2023-06-05 17:45:10 +0200__monty__(~toonn@user/toonn)
2023-06-05 17:45:36 +0200machinedgod(~machinedg@93-136-226-84.adsl.net.t-com.hr) (Ping timeout: 248 seconds)
2023-06-05 17:46:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 17:46:42 +0200alphabeta(~kilolympu@213.144.144.24)
2023-06-05 17:47:18 +0200 <jade[m]> IntelliJ is amazing for java and jvm languages, but even though it has a bunch of plugins for other languages, none of them have convinced me yet
2023-06-05 17:47:37 +0200kilolympus(~kilolympu@vpn-fn-229.net.ed.ac.uk) (Ping timeout: 265 seconds)
2023-06-05 17:48:03 +0200 <_d0t> err... i'm mostly hopeful i can dump emacs eventually for something better. Unfortunately, haven't found anything worthwhile yet.
2023-06-05 17:48:23 +0200 <jade[m]> v i m
2023-06-05 17:48:39 +0200 <jade[m]> I use n e o v i m personally
2023-06-05 17:48:48 +0200 <_d0t> i use evil mode in emacs :)
2023-06-05 17:49:35 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 17:49:47 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 246 seconds)
2023-06-05 17:51:19 +0200blueonyx(~blueonyx@user/blueonyx)
2023-06-05 17:52:10 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 250 seconds)
2023-06-05 17:53:08 +0200blueonyx(~blueonyx@user/blueonyx) (Client Quit)
2023-06-05 17:56:19 +0200vandita(~vandit@78-131-74-110.pool.digikabel.hu) (Ping timeout: 265 seconds)
2023-06-05 17:58:00 +0200vandita(~vandit@94-21-48-39.pool.digikabel.hu)
2023-06-05 18:02:25 +0200titiband1t(~titibandi@user/titibandit) (Ping timeout: 240 seconds)
2023-06-05 18:05:39 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-06-05 18:06:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 18:06:37 +0200cheater_(~Username@user/cheater)
2023-06-05 18:07:29 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2023-06-05 18:08:41 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 246 seconds)
2023-06-05 18:09:25 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-06-05 18:09:32 +0200cheater_cheater
2023-06-05 18:10:08 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 18:16:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 18:16:52 +0200gensyst(~gensyst@user/gensyst)
2023-06-05 18:17:26 +0200irfan(~irfan@user/irfan) (Quit: leaving)
2023-06-05 18:18:14 +0200 <gensyst> Can someone tell me why my very simple channel is so dead-slow?
2023-06-05 18:18:27 +0200 <gensyst> That's Main.hs: https://dpaste.com/2FXMAZVA8
2023-06-05 18:18:55 +0200 <gensyst> The key is line 23. It becomes crazy slow
2023-06-05 18:19:05 +0200 <gensyst> Here is my Channel.hs: https://dpaste.com/7GC7YEHS5
2023-06-05 18:19:23 +0200 <gensyst> These are just some simple MVar operations. I don't see why it should slow it down so much
2023-06-05 18:19:35 +0200 <gensyst> It's a trivial thing; sum numbers from 1 to 300,000.
2023-06-05 18:19:58 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 18:20:12 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-06-05 18:20:15 +0200motherfsck(~motherfsc@user/motherfsck)
2023-06-05 18:20:28 +0200 <ncf> not strict enough?
2023-06-05 18:20:36 +0200chromoblob(~user@37.113.158.8)
2023-06-05 18:22:17 +0200 <ncf> or maybe that's expected
2023-06-05 18:24:39 +0200mixfix41(~sdeny9ee@user/mixfix41)
2023-06-05 18:26:01 +0200 <gensyst> Let's say it's 10 seconds slower (it's actually 15 seconds slower). Even then, that's a massive 33 microsecond overhead for each of the 300,000 numbers
2023-06-05 18:26:14 +0200 <gensyst> but mvar operations are supposed to be in the tens of nanoseconds at most
2023-06-05 18:26:22 +0200 <gensyst> so it's imo unexpected :S
2023-06-05 18:29:38 +0200ripspin(~chatzilla@1.145.181.21) (Remote host closed the connection)
2023-06-05 18:29:40 +0200 <sm> maybe profiling can tell something ?
2023-06-05 18:30:08 +0200mbuf(~Shakthi@49.207.178.186) (Quit: Leaving)
2023-06-05 18:34:29 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-06-05 18:36:19 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 268 seconds)
2023-06-05 18:36:26 +0200shriekingnoise_(~shrieking@186.137.175.87) (Ping timeout: 265 seconds)
2023-06-05 18:36:34 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.au)
2023-06-05 18:36:34 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.au) (Changing host)
2023-06-05 18:36:34 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-06-05 18:41:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 18:43:12 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 265 seconds)
2023-06-05 18:43:14 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 18:48:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 18:48:59 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 18:51:08 +0200babysnakes(~babysnake@94.159.128.69)
2023-06-05 18:51:29 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 18:55:01 +0200babysnakes(~babysnake@94.159.128.69) (Client Quit)
2023-06-05 18:58:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 18:59:37 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2023-06-05 19:00:21 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-06-05 19:01:37 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 19:02:37 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-06-05 19:02:48 +0200CAT_S(apic@brezn3.muc.ccc.de) (Ping timeout: 250 seconds)
2023-06-05 19:03:17 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 246 seconds)
2023-06-05 19:05:55 +0200vandita(~vandit@94-21-48-39.pool.digikabel.hu) (Ping timeout: 268 seconds)
2023-06-05 19:07:31 +0200vandita(~vandit@85-238-77-59.pool.digikabel.hu)
2023-06-05 19:08:36 +0200shriekingnoise_(~shrieking@186.137.175.87)
2023-06-05 19:09:29 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Remote host closed the connection)
2023-06-05 19:09:43 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 250 seconds)
2023-06-05 19:11:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 19:13:11 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-06-05 19:15:23 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 19:16:23 +0200CAT_S(apic@brezn3.muc.ccc.de)
2023-06-05 19:17:51 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
2023-06-05 19:27:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 19:31:18 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 19:32:47 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-06-05 19:33:40 +0200monoidal(~monoidal@2a01cb0801ce4b009c4c2b3639727234.ipv6.abo.wanadoo.fr) (Quit: Client closed)
2023-06-05 19:35:48 +0200econo(uid147250@user/econo)
2023-06-05 19:36:48 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 19:37:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 19:45:31 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
2023-06-05 19:48:29 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 19:48:40 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 19:50:47 +0200nate2(~nate@98.45.169.16)
2023-06-05 19:53:59 +0200arkeet`(arkeet@moriya.ca)
2023-06-05 19:54:01 +0200jludwig(~justin@li657-110.members.linode.com) (Ping timeout: 240 seconds)
2023-06-05 19:54:08 +0200tokie(~tokie@tokie.net) (Ping timeout: 240 seconds)
2023-06-05 19:54:09 +0200kosmikus[m](~andresloe@2001:470:69fc:105::95d)
2023-06-05 19:54:17 +0200shachaf(~shachaf@user/shachaf) (Ping timeout: 265 seconds)
2023-06-05 19:54:17 +0200tolt(~weechat-h@li219-154.members.linode.com) (Ping timeout: 265 seconds)
2023-06-05 19:54:25 +0200arkeet(~arkeet@moriya.ca) (Ping timeout: 240 seconds)
2023-06-05 19:54:25 +0200arkeet`arkeet
2023-06-05 19:54:43 +0200tolt(~weechat-h@li219-154.members.linode.com)
2023-06-05 19:55:14 +0200jludwig(~justin@li657-110.members.linode.com)
2023-06-05 19:55:28 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-06-05 19:55:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 19:55:53 +0200shachaf(~shachaf@user/shachaf)
2023-06-05 19:56:49 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Remote host closed the connection)
2023-06-05 19:56:55 +0200CiaoSen(~Jura@145.224.74.19)
2023-06-05 19:57:59 +0200 <yin> why is (Either a) Foldable and why is `null (Left _) = True ; null (Right _) = False` ?
2023-06-05 19:58:20 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 20:00:13 +0200 <ncf> Foldable instances are determined by their toList, so it might help to look at that
2023-06-05 20:00:25 +0200 <ncf> toList (Left _) = []; toList (Right b) = [b]
2023-06-05 20:03:04 +0200 <yin> > toList (0,'z')
2023-06-05 20:03:05 +0200 <lambdabot> "z"
2023-06-05 20:03:18 +0200 <yin> > toList (0,[])
2023-06-05 20:03:19 +0200 <lambdabot> [[]]
2023-06-05 20:03:23 +0200 <yin> > toList (0,Nothing)
2023-06-05 20:03:24 +0200 <lambdabot> [Nothing]
2023-06-05 20:03:41 +0200 <yin> null (0,'z')
2023-06-05 20:03:45 +0200 <yin> > null (0,'z')
2023-06-05 20:03:47 +0200 <lambdabot> False
2023-06-05 20:03:50 +0200 <yin> ok
2023-06-05 20:04:16 +0200vandita(~vandit@85-238-77-59.pool.digikabel.hu) (Ping timeout: 248 seconds)
2023-06-05 20:04:43 +0200 <yin> not a fan of these instances
2023-06-05 20:05:53 +0200vandita(~vandit@80-95-69-203.pool.digikabel.hu)
2023-06-05 20:06:22 +0200 <geekosaur> > length (0,'z') -- another instance many aren't fond of
2023-06-05 20:06:23 +0200 <lambdabot> 1
2023-06-05 20:06:52 +0200 <c_wraith> those instances are really helpful. I'd argue the problem is having all those functions be in terms of Foldable
2023-06-05 20:07:17 +0200 <c_wraith> Or maybe the problem is that Foldable is a requirement for Traversable
2023-06-05 20:07:25 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-06-05 20:07:46 +0200 <c_wraith> But I'm not sure who's going to complain about traverse working on the last element of a tuple
2023-06-05 20:08:27 +0200tokie(~tokie@tokie.net)
2023-06-05 20:08:43 +0200machinedgod(~machinedg@93-136-226-84.adsl.net.t-com.hr)
2023-06-05 20:10:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 20:10:53 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-06-05 20:13:36 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 20:13:46 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
2023-06-05 20:14:09 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 20:14:41 +0200machinedgod(~machinedg@93-136-226-84.adsl.net.t-com.hr) (Ping timeout: 246 seconds)
2023-06-05 20:17:16 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
2023-06-05 20:17:46 +0200vandita(~vandit@80-95-69-203.pool.digikabel.hu) (Ping timeout: 250 seconds)
2023-06-05 20:19:27 +0200vandita(~vandit@94-21-131-79.pool.digikabel.hu)
2023-06-05 20:19:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 20:23:24 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 20:24:04 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
2023-06-05 20:24:26 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 20:26:14 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 246 seconds)
2023-06-05 20:30:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 20:30:55 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-06-05 20:31:34 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 20:32:43 +0200paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
2023-06-05 20:33:01 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 240 seconds)
2023-06-05 20:34:23 +0200scrungus(~scrungus@bras-base-aurron9127w-grc-46-70-31-27-241.dsl.bell.ca)
2023-06-05 20:35:48 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 20:37:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 20:40:46 +0200jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2023-06-05 20:40:53 +0200CiaoSen(~Jura@145.224.74.19) (Ping timeout: 268 seconds)
2023-06-05 20:41:30 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 20:43:38 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-06-05 20:45:25 +0200user____4(~user@dynamic-046-114-181-157.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
2023-06-05 20:46:18 +0200taupiqueur2(~taupiqueu@2a02-842a-8180-4601-d889-32cf-7779-fb04.rev.sfr.net)
2023-06-05 20:47:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 20:47:48 +0200taupiqueur1(~taupiqueu@2a02-842a-8180-4601-c090-5725-b02b-48b7.rev.sfr.net) (Ping timeout: 240 seconds)
2023-06-05 20:47:54 +0200mixfix41(~sdeny9ee@user/mixfix41) (Ping timeout: 265 seconds)
2023-06-05 20:48:08 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-c090-5725-b02b-48b7.rev.sfr.net) (Ping timeout: 245 seconds)
2023-06-05 20:51:12 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 20:51:49 +0200scrungus(~scrungus@bras-base-aurron9127w-grc-46-70-31-27-241.dsl.bell.ca) (Quit: WeeChat 3.8)
2023-06-05 20:55:45 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-06-05 20:58:25 +0200raym(~ray@user/raym) (Ping timeout: 240 seconds)
2023-06-05 20:59:49 +0200vandita(~vandit@94-21-131-79.pool.digikabel.hu) (Ping timeout: 256 seconds)
2023-06-05 21:01:28 +0200vandita(~vandit@87-97-88-195.pool.digikabel.hu)
2023-06-05 21:01:33 +0200CiaoSen(~Jura@145.224.74.19)
2023-06-05 21:02:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 21:03:30 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-06-05 21:05:41 +0200 <gensyst> Profpatsch, what bounded channels were you referring to? aren't they too just mvars under the hood anyway?
2023-06-05 21:06:04 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 21:06:15 +0200 <gensyst> Profpatsch, note my 2nd CHannel example was already merely mvars and still slow: https://dpaste.com/GCJ3KUSVP
2023-06-05 21:10:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Remote host closed the connection)
2023-06-05 21:10:38 +0200user____3(~user@dynamic-046-114-181-157.46.114.pool.telefonica.de)
2023-06-05 21:12:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 21:15:22 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-d889-32cf-7779-fb04.rev.sfr.net)
2023-06-05 21:15:54 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 21:19:34 +0200Pickchea(~private@user/pickchea)
2023-06-05 21:19:59 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-06-05 21:22:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 21:25:22 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
2023-06-05 21:26:20 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 21:31:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 21:35:02 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 21:38:43 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de)
2023-06-05 21:39:29 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-06-05 21:39:57 +0200EvanR(~EvanR@user/evanr)
2023-06-05 21:40:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 21:40:49 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 21:41:50 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 21:43:03 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-06-05 21:44:30 +0200elkcl(~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Remote host closed the connection)
2023-06-05 21:45:11 +0200elkcl(~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru)
2023-06-05 21:47:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 21:48:16 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 21:54:07 +0200CiaoSen(~Jura@145.224.74.19) (Ping timeout: 265 seconds)
2023-06-05 21:55:19 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Remote host closed the connection)
2023-06-05 21:55:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 21:55:42 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 21:58:25 +0200pavonia(~user@user/siracusa)
2023-06-05 21:59:05 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 22:00:45 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 240 seconds)
2023-06-05 22:04:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 22:06:14 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-06-05 22:06:57 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 250 seconds)
2023-06-05 22:12:08 +0200chromoblob(~user@37.113.158.8)
2023-06-05 22:20:17 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 256 seconds)
2023-06-05 22:20:51 +0200 <bionade24> How can I find out which error type got thrown?
2023-06-05 22:21:10 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 22:25:29 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-06-05 22:25:39 +0200elkcl(~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Remote host closed the connection)
2023-06-05 22:28:02 +0200elkcl(~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru)
2023-06-05 22:28:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 22:29:53 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 22:31:00 +0200 <EvanR> in what context
2023-06-05 22:31:48 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 22:34:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 22:35:11 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 22:36:05 +0200machinedgod(~machinedg@93-136-226-84.adsl.net.t-com.hr)
2023-06-05 22:36:21 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-05 22:36:23 +0200arthurvlearthy
2023-06-05 22:39:02 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 250 seconds)
2023-06-05 22:39:49 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-06-05 22:39:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d)
2023-06-05 22:40:43 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 22:41:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 22:41:23 +0200Feuermagier(~Feuermagi@user/feuermagier)
2023-06-05 22:44:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:1021:1d21:ada2:fc1d) (Ping timeout: 246 seconds)
2023-06-05 22:44:47 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-06-05 22:44:54 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 22:45:21 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-06-05 22:46:41 +0200motherfsck(~motherfsc@user/motherfsck)
2023-06-05 22:50:11 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 265 seconds)
2023-06-05 22:50:18 +0200ss4(~wootehfoo@user/wootehfoot)
2023-06-05 22:59:15 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-06-05 23:01:05 +0200trev(~trev@user/trev) (Quit: trev)
2023-06-05 23:03:17 +0200gensyst(~gensyst@user/gensyst) (Quit: Leaving)
2023-06-05 23:04:00 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 248 seconds)
2023-06-05 23:05:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-06-05 23:06:48 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Ping timeout: 240 seconds)
2023-06-05 23:09:38 +0200titibandit(~titibandi@user/titibandit)
2023-06-05 23:10:53 +0200mcglk(~mcglk@131.191.19.145) (Remote host closed the connection)
2023-06-05 23:11:39 +0200Inst(~Inst@c-98-208-218-119.hsd1.fl.comcast.net) (Remote host closed the connection)
2023-06-05 23:11:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 23:12:03 +0200Inst(~Inst@2601:6c4:4081:2fc0:c1fa:d834:4b7c:236d)
2023-06-05 23:12:05 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-06-05 23:12:49 +0200jonathan(~jonathan@c83-177-239-48.bredband.tele2.se) (Ping timeout: 250 seconds)
2023-06-05 23:12:54 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:e468:41ec:9170:31b2)
2023-06-05 23:13:25 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 23:13:28 +0200mcglk(~mcglk@131.191.19.145)
2023-06-05 23:16:13 +0200Fischmiep(~Fischmiep@user/Fischmiep) (Quit: Ping timeout (120 seconds))
2023-06-05 23:20:50 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-06-05 23:22:22 +0200falafel(~falafel@cpe-70-93-29-179.natsow.res.rr.com)
2023-06-05 23:22:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 23:25:23 +0200Fischmiep(~Fischmiep@user/Fischmiep) (Ping timeout: 250 seconds)
2023-06-05 23:26:17 +0200michalz(~michalz@185.246.207.201) (Remote host closed the connection)
2023-06-05 23:26:45 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 23:28:51 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:e468:41ec:9170:31b2) (Ping timeout: 250 seconds)
2023-06-05 23:32:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 23:36:08 +0200thegeekinside(~thegeekin@189.217.90.138) (Ping timeout: 265 seconds)
2023-06-05 23:36:35 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 23:36:46 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 23:37:08 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-05 23:37:39 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-05 23:38:57 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42)
2023-06-05 23:45:33 +0200barzo(~hd@31.223.56.56)
2023-06-05 23:45:35 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-06-05 23:46:08 +0200reach(~reach@2607:fea8:4c0:990:399a:69de:44e1:1e42) (Ping timeout: 248 seconds)
2023-06-05 23:48:30 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-05 23:49:30 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-06-05 23:50:25 +0200ss4(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-06-05 23:50:47 +0200 <monochrom> I have wondered for years whether there are more continuous functions than computable functions. Today I realize that I should just try the usual "perhaps there are simply uncountably many continusous functions" and "perhaps vanilla diagonalization just works". It works for Integer->Bool, on the simple technicality that Integer is a pretty flat partial order so "continuous" is almost no restriction at all. :)
2023-06-05 23:51:53 +0200barzo_(~hd@31.223.56.153)
2023-06-05 23:52:39 +0200nate2(~nate@98.45.169.16)
2023-06-05 23:52:41 +0200barzo(~hd@31.223.56.56) (Ping timeout: 250 seconds)
2023-06-05 23:54:01 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 265 seconds)
2023-06-05 23:54:08 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-06-05 23:54:46 +0200chromoblob(~user@37.113.158.8)
2023-06-05 23:57:01 +0200nate2(~nate@98.45.169.16) (Ping timeout: 250 seconds)
2023-06-05 23:58:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-05 23:58:54 +0200 <ncf> just work in the effective topos, then everything is continuous and computable :)
2023-06-05 23:59:02 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-05 23:59:18 +0200 <monochrom> Noooo waaayyy!!!
2023-06-05 23:59:31 +0200monochromhugs set theory and classical logic