Home liberachat/#haskell: Logs Calendar

Logs on 2023-06-13 (liberachat/#haskell)

00:00:15 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
00:00:25 mauke_ joins (~mauke@user/mauke)
00:01:19 dhruvasagar joins (~dhruvasag@49.207.218.223)
00:01:44 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:02:29 foul_owl joins (~kerry@71.212.137.212)
00:03:04 blueonyx joins (~blueonyx@user/blueonyx)
00:03:50 × mauke quits (~mauke@user/mauke) (Ping timeout: 260 seconds)
00:03:51 mauke_ is now known as mauke
00:05:00 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
00:06:01 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
00:07:03 segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
00:07:07 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
00:08:40 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
00:08:50 × Nosrep quits (~Nosrep@user/nosrep) (Server closed connection)
00:09:14 Nosrep joins (~Nosrep@user/nosrep)
00:10:40 × dcoutts_ quits (~duncan@185.201.60.13) (Ping timeout: 255 seconds)
00:11:30 dhruvasagar joins (~dhruvasag@49.207.218.223)
00:15:45 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
00:16:50 × rodental quits (~rodental@38.146.5.222) (Server closed connection)
00:17:09 dhruvasagar joins (~dhruvasag@49.207.218.223)
00:17:35 rodental joins (~rodental@38.146.5.222)
00:17:50 × foul_owl quits (~kerry@71.212.137.212) (Ping timeout: 260 seconds)
00:21:50 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 265 seconds)
00:28:04 dhruvasagar joins (~dhruvasag@49.207.218.223)
00:28:06 × mei quits (~mei@user/mei) (Ping timeout: 268 seconds)
00:28:29 ec_ joins (~ec@gateway/tor-sasl/ec)
00:31:48 mei joins (~mei@user/mei)
00:32:49 foul_owl joins (~kerry@45.143.82.39)
00:33:02 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 268 seconds)
00:33:35 × xff0x quits (~xff0x@2405:6580:b080:900:3687:e69a:4c02:e9f) (Ping timeout: 260 seconds)
00:34:00 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
00:39:27 dhruvasagar joins (~dhruvasag@49.207.218.223)
00:39:40 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:782b:e4a2:bdc6:e185)
00:40:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:41:48 ec_ joins (~ec@gateway/tor-sasl/ec)
00:43:58 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
00:44:05 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:782b:e4a2:bdc6:e185) (Ping timeout: 260 seconds)
00:44:32 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
00:44:52 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
00:44:54 dhruvasagar joins (~dhruvasag@49.207.218.223)
00:47:20 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:48:12 ec_ joins (~ec@gateway/tor-sasl/ec)
00:48:28 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
00:54:48 segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
00:58:15 × simpleauthority quits (~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in)
00:58:45 × kupi_ quits (uid212005@2a03:5180:f:4::3:3c25) (Quit: Connection closed for inactivity)
01:00:21 simpleauthority joins (~simpleaut@user/simpleauthority)
01:01:46 biberu joins (~biberu@user/biberu)
01:07:25 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 260 seconds)
01:08:13 dhruvasagar joins (~dhruvasag@49.207.218.223)
01:08:44 biberu\ joins (~biberu@user/biberu)
01:10:02 × biberu quits (~biberu@user/biberu) (Ping timeout: 268 seconds)
01:10:19 biberu\ is now known as biberu
01:10:54 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:10:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
01:11:06 tom_ joins (~tom@2a00:23c8:970c:4801:d59:645f:19cf:5a58)
01:11:40 × zincy quits (~tom@host81-151-255-71.range81-151.btcentralplus.com) (Remote host closed the connection)
01:12:59 ec_ joins (~ec@gateway/tor-sasl/ec)
01:13:07 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 268 seconds)
01:14:38 × puke quits (~puke@user/puke) (Server closed connection)
01:15:03 puke joins (~puke@user/puke)
01:17:00 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:18:48 biberu\ joins (~biberu@user/biberu)
01:19:04 dhruvasagar joins (~dhruvasag@49.207.218.223)
01:19:54 × biberu quits (~biberu@user/biberu) (Ping timeout: 268 seconds)
01:20:26 biberu\ is now known as biberu
01:20:31 × blueonyx quits (~blueonyx@user/blueonyx) (Ping timeout: 240 seconds)
01:20:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
01:21:46 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds)
01:22:32 blueonyx joins (~blueonyx@user/blueonyx)
01:23:34 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
01:24:22 × blueonyx quits (~blueonyx@user/blueonyx) (Client Quit)
01:24:46 dhruvasagar joins (~dhruvasag@49.207.218.223)
01:26:46 ec_ joins (~ec@gateway/tor-sasl/ec)
01:29:10 biberu\ joins (~biberu@user/biberu)
01:29:35 × biberu quits (~biberu@user/biberu) (Ping timeout: 260 seconds)
01:30:41 biberu\ is now known as biberu
01:39:31 × biberu quits (~biberu@user/biberu) (Ping timeout: 250 seconds)
01:39:45 werneta joins (~werneta@70.142.214.115)
01:40:24 biberu joins (~biberu@user/biberu)
01:41:38 × Adran quits (~adran@botters/adran) (Server closed connection)
01:43:49 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
01:45:03 Adran joins (~adran@botters/adran)
01:45:21 × xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 260 seconds)
01:49:03 × biberu quits (~biberu@user/biberu) (Ping timeout: 250 seconds)
01:56:19 biberu joins (~biberu@user/biberu)
01:56:25 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 255 seconds)
02:02:14 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Remote host closed the connection)
02:04:18 × biberu quits (~biberu@user/biberu) (Ping timeout: 268 seconds)
02:06:41 biberu joins (~biberu@user/biberu)
02:07:41 dhruvasagar joins (~dhruvasag@49.207.218.223)
02:10:55 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:782b:e4a2:bdc6:e185)
02:12:10 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
02:13:26 dhruvasagar joins (~dhruvasag@49.207.218.223)
02:13:38 × acro quits (~acro@user/acro) (Server closed connection)
02:13:59 biberu\ joins (~biberu@user/biberu)
02:14:25 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
02:14:34 acro joins (~acro@user/acro)
02:15:27 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
02:15:37 biberu\ is now known as biberu
02:16:28 × wns quits (~user@103.206.114.101) (Quit: WeeChat 3.8)
02:19:33 dsrt^ joins (~dsrt@71.204.38.59)
02:19:49 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:19:49 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:19:49 finn_elija is now known as FinnElija
02:20:38 thegeekinside joins (~thegeekin@189.217.90.138)
02:23:15 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
02:23:29 xff0x joins (~xff0x@125.103.176.34)
02:23:45 biberu\ joins (~biberu@user/biberu)
02:24:19 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
02:25:01 Sciencentistguy1 joins (~sciencent@hacksoc/ordinary-member)
02:25:05 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
02:25:19 biberu\ is now known as biberu
02:27:28 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds)
02:27:28 Sciencentistguy1 is now known as Sciencentistguy
02:31:34 tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
02:31:46 × hackyhacker quits (~hackyhack@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) (*.net *.split)
02:31:46 × lightandlight quits (sid135476@id-135476.helmsley.irccloud.com) (*.net *.split)
02:31:46 × hugo quits (znc@verdigris.lysator.liu.se) (*.net *.split)
02:31:46 × AlexNoo quits (~AlexNoo@178.34.163.11) (*.net *.split)
02:31:46 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (*.net *.split)
02:31:46 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (*.net *.split)
02:31:46 × Pent quits (sid313808@id-313808.lymington.irccloud.com) (*.net *.split)
02:31:46 × lyxia quits (~lyxia@poisson.chat) (*.net *.split)
02:31:46 × heath1 quits (~heath@user/heath) (*.net *.split)
02:31:46 × canta1 quits (~canta@cvm0.d5k.one) (*.net *.split)
02:31:46 × mi7 quits (~miselin@76.132.133.207) (*.net *.split)
02:31:46 × hiredman quits (~hiredman@frontier1.downey.family) (*.net *.split)
02:31:46 × mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (*.net *.split)
02:31:46 × dtman34 quits (~dtman34@2601:447:d000:93c9:f69f:1c9f:25a2:cccc) (*.net *.split)
02:31:46 × bliminse quits (~bliminse@user/bliminse) (*.net *.split)
02:31:46 × oljenkins quits (~philipp@p5dec4bb3.dip0.t-ipconnect.de) (*.net *.split)
02:31:46 × Angelz quits (Angelz@2605:6400:30:fc15:9bd1:2217:41cd:bb15) (*.net *.split)
02:31:46 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (*.net *.split)
02:31:46 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (*.net *.split)
02:31:46 × drdo quits (~drdo@bl8-153-185.dsl.telepac.pt) (*.net *.split)
02:31:46 × hexology quits (~hexology@user/hexology) (*.net *.split)
02:31:46 × hays quits (rootvegeta@fsf/member/hays) (*.net *.split)
02:31:46 × lottaquestions quits (~nick@2607:fa49:503f:6d00:8fc2:91a1:b755:da93) (*.net *.split)
02:31:46 × delyan quits (sid523379@id-523379.hampstead.irccloud.com) (*.net *.split)
02:31:46 × JSharp quits (sid4580@id-4580.lymington.irccloud.com) (*.net *.split)
02:31:46 × srk quits (~sorki@user/srk) (*.net *.split)
02:31:46 × nurupo quits (~nurupo.ga@user/nurupo) (*.net *.split)
02:31:46 × h2t quits (~h2t@user/h2t) (*.net *.split)
02:31:46 × siers quits (~ij@user/ij) (*.net *.split)
02:31:46 × edmundnoble quits (sid229620@id-229620.helmsley.irccloud.com) (*.net *.split)
02:31:46 × rubin55 quits (sid175221@id-175221.hampstead.irccloud.com) (*.net *.split)
02:31:46 × robobub quits (uid248673@id-248673.uxbridge.irccloud.com) (*.net *.split)
02:31:46 × hippoid quits (~hippoid@user/hippoid) (*.net *.split)
02:31:46 × MonsoonSecrecy quits (f78c86e960@2604:bf00:561:2000::f99) (*.net *.split)
02:31:46 × retropikzel quits (9d1a4f9f46@2604:bf00:561:2000::ce) (*.net *.split)
02:31:46 × sus quits (1b7af6299f@user/zeromomentum) (*.net *.split)
02:31:46 × shreyasminocha quits (51fdc93eda@user/shreyasminocha) (*.net *.split)
02:31:46 × whereiseveryone quits (206ba86c98@2604:bf00:561:2000::2e4) (*.net *.split)
02:31:46 × theesm quits (2cbdf4b38a@2604:bf00:561:2000::11c8) (*.net *.split)
02:31:46 × n1essa quits (3d621153a5@2604:bf00:561:2000::df7) (*.net *.split)
02:31:46 × ymherklotz quits (cb2c9cfbdd@2604:bf00:561:2000::29a) (*.net *.split)
02:31:46 × probie quits (cc0b34050a@user/probie) (*.net *.split)
02:31:46 × henrytill quits (e0180937c3@2604:bf00:561:2000::e8c) (*.net *.split)
02:31:46 × fvr quits (ef3e56ca8b@2604:bf00:561:2000::3c4) (*.net *.split)
02:31:46 × samhh quits (7569f027cf@2604:bf00:561:2000::e4) (*.net *.split)
02:31:46 × JoelMcCracken quits (9cb760e8d2@2604:bf00:561:2000::10e3) (*.net *.split)
02:31:46 × arcadewise quits (52968ed80d@2604:bf00:561:2000::3df) (*.net *.split)
02:31:46 × evanrelf quits (3addc196af@2604:bf00:561:2000::f0) (*.net *.split)
02:31:46 × Ankhers quits (e99e97ef8e@2604:bf00:561:2000::2a2) (*.net *.split)
02:31:46 × jkoshy quits (99b9359beb@user/jkoshy) (*.net *.split)
02:31:46 × cpli quits (77fc530071@2604:bf00:561:2000::252) (*.net *.split)
02:31:46 × b0o quits (0e4a0bf4c9@2604:bf00:561:2000::1bf) (*.net *.split)
02:31:46 × fluffyballoon quits (45ce440a48@2604:bf00:561:2000::e2) (*.net *.split)
02:31:46 × jleightcap quits (7bc4014b62@user/jleightcap) (*.net *.split)
02:31:46 × sm2n quits (ae95cb1267@user/sm2n) (*.net *.split)
02:31:46 × chaitlatte0 quits (ea29c0bb16@user/chaitlatte0) (*.net *.split)
02:31:46 × jakzale quits (6291399afa@user/jakzale) (*.net *.split)
02:31:46 × bsima1 quits (9d7e39c8ad@2604:bf00:561:2000::dd) (*.net *.split)
02:31:46 × lukec quits (9dfd4d094e@2604:bf00:561:2000::10e) (*.net *.split)
02:31:46 × filwisher quits (3433d34cc6@2604:bf00:561:2000::170) (*.net *.split)
02:31:46 × ggb quits (a62ffbaf4f@2604:bf00:561:2000::3ac) (*.net *.split)
02:31:46 × ario quits (~ario@159.65.220.102) (*.net *.split)
02:31:46 × mikko quits (~mikko@user/mikko) (*.net *.split)
02:31:46 × heartburn quits (~gass@2a00:d880:3:1::b1e4:b241) (*.net *.split)
02:31:46 × landonf quits (landonf@mac68k.info) (*.net *.split)
02:31:46 × cln_ quits (cln@wtf.cx) (*.net *.split)
02:31:46 × remsen quits (ianremsen@tilde.team) (*.net *.split)
02:31:46 × _\_ quits (~o@user/offon) (*.net *.split)
02:31:49 samhh_ is now known as samhh
02:31:57 ggb joins (a62ffbaf4f@2604:bf00:561:2000::3ac)
02:31:57 bsima1 joins (9d7e39c8ad@2604:bf00:561:2000::dd)
02:31:57 lukec joins (9dfd4d094e@2604:bf00:561:2000::10e)
02:31:57 filwisher joins (2e6936c793@2604:bf00:561:2000::170)
02:31:58 landonf joins (landonf@2600:3c03::f03c:91ff:feae:da1e)
02:32:02 cln_ joins (cln@wtf.cx)
02:32:07 MonsoonSecrecy joins (f78c86e960@2604:bf00:561:2000::f99)
02:32:13 whereiseveryone joins (206ba86c98@2604:bf00:561:2000::2e4)
02:32:13 evanrelf joins (3addc196af@2604:bf00:561:2000::f0)
02:32:17 fvr joins (ef3e56ca8b@2604:bf00:561:2000::3c4)
02:32:22 shreyasminocha joins (51fdc93eda@user/shreyasminocha)
02:32:22 sus joins (1b7af6299f@user/zeromomentum)
02:32:30 probie joins (cc0b34050a@user/probie)
02:32:30 henrytill joins (e0180937c3@2604:bf00:561:2000::e8c)
02:32:33 delyan joins (sid523379@2a03:5180:f:4::7:fc73)
02:32:34 retropikzel joins (9d1a4f9f46@2604:bf00:561:2000::ce)
02:32:34 ymherklotz joins (cb2c9cfbdd@2604:bf00:561:2000::29a)
02:32:34 Ankhers joins (a197a332e9@2604:bf00:561:2000::2a2)
02:32:35 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
02:32:37 Pent joins (sid313808@2a03:5180:f:2::4:c9d0)
02:32:42 AlexNoo joins (~AlexNoo@178.34.163.11)
02:32:45 JSharp joins (sid4580@2a03:5180:f:2::11e4)
02:32:46 edmundnoble joins (sid229620@id-229620.helmsley.irccloud.com)
02:32:47 canta1 joins (~canta@cvm0.d5k.one)
02:32:48 mikko joins (~mikko@dsl-trebng22-58c1a8-185.dhcp.inet.fi)
02:32:55 lightandlight joins (sid135476@id-135476.helmsley.irccloud.com)
02:33:02 × mikko quits (~mikko@dsl-trebng22-58c1a8-185.dhcp.inet.fi) (Changing host)
02:33:02 mikko joins (~mikko@user/mikko)
02:33:15 rubin55 joins (sid175221@hampstead.irccloud.com)
02:33:15 × emergence quits (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc) (Read error: Connection reset by peer)
02:33:17 hexology joins (~hexology@user/hexology)
02:33:23 chaitlatte0 joins (ea29c0bb16@2604:bf00:561:2000::1124)
02:33:26 × chaitlatte0 quits (ea29c0bb16@2604:bf00:561:2000::1124) (Changing host)
02:33:26 chaitlatte0 joins (ea29c0bb16@user/chaitlatte0)
02:33:29 cpli joins (77fc530071@2604:bf00:561:2000::252)
02:33:40 fluffyballoon joins (45ce440a48@2604:bf00:561:2000::e2)
02:33:40 arcadewise joins (52968ed80d@2604:bf00:561:2000::3df)
02:33:40 siers joins (~ij@user/ij)
02:33:42 sm2n joins (ae95cb1267@user/sm2n)
02:33:43 srk_ joins (~sorki@user/srk)
02:33:43 samhh_ joins (7569f027cf@2604:bf00:561:2000::e4)
02:33:45 n1essa joins (3d621153a5@2604:bf00:561:2000::df7)
02:33:46 JoelMcCracken joins (5ea8252fbb@2604:bf00:561:2000::10e3)
02:33:51 h2t joins (~h2t@user/h2t)
02:33:51 nurupo joins (~nurupo.ga@user/nurupo)
02:33:56 theesm joins (2cbdf4b38a@2604:bf00:561:2000::11c8)
02:33:56 jakzale joins (6291399afa@user/jakzale)
02:33:57 b0o joins (0e4a0bf4c9@2604:bf00:561:2000::1bf)
02:33:58 lottaquestions joins (~nick@2607:fa49:503f:6d00:9d95:486a:e095:686c)
02:33:58 dtman34 joins (~dtman34@2601:447:d000:93c9:f1cc:f7a5:325c:7994)
02:33:58 jleightcap joins (7bc4014b62@user/jleightcap)
02:34:00 jkoshy joins (99b9359beb@user/jkoshy)
02:34:03 emergence joins (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc)
02:34:04 biberu\ joins (~biberu@user/biberu)
02:34:07 drdo joins (~drdo@bl8-153-185.dsl.telepac.pt)
02:34:09 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
02:34:13 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
02:34:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 246 seconds)
02:34:32 remsen joins (ianremsen@tilde.team)
02:34:45 robobub joins (uid248673@uxbridge.irccloud.com)
02:34:47 cheater joins (~Username@user/cheater)
02:34:49 × emergence quits (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc) (Read error: Connection reset by peer)
02:34:54 heath1 joins (~heath@user/heath)
02:34:59 mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001)
02:35:04 emergence joins (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc)
02:35:06 hugo joins (znc@verdigris.lysator.liu.se)
02:35:34 × mcglk quits (~mcglk@131.191.19.145) (Ping timeout: 255 seconds)
02:35:34 ario joins (~ario@159.65.220.102)
02:35:39 biberu\ is now known as biberu
02:35:49 hippoid joins (~hippoid@c-98-213-162-40.hsd1.il.comcast.net)
02:36:13 bliminse joins (~bliminse@user/bliminse)
02:36:36 heartburn joins (~gass@2a00:d880:3:1::b1e4:b241)
02:36:51 mcglk joins (~mcglk@131.191.19.145)
02:37:01 hiredman joins (~hiredman@frontier1.downey.family)
02:37:01 oljenkins joins (~philipp@p5dec4bb3.dip0.t-ipconnect.de)
02:43:01 × terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
02:43:06 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
02:43:55 Angelz joins (Angelz@angelz.oddprotocol.org)
02:44:26 terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::)
02:44:51 × td_ quits (~td@i5387093F.versanet.de) (Ping timeout: 260 seconds)
02:44:54 × biberu quits (~biberu@user/biberu) (Ping timeout: 265 seconds)
02:44:55 biberu\ joins (~biberu@user/biberu)
02:46:29 biberu\ is now known as biberu
02:46:32 td_ joins (~td@i5387091C.versanet.de)
02:49:43 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 250 seconds)
02:51:15 dhruvasagar joins (~dhruvasag@49.207.218.223)
02:53:16 merijn joins (~merijn@86.86.29.250)
02:53:26 jargon joins (~jargon@184.101.75.235)
02:54:28 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
02:54:49 biberu joins (~biberu@user/biberu)
02:55:31 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
02:57:31 × merijn quits (~merijn@86.86.29.250) (Ping timeout: 250 seconds)
02:59:56 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::1) (Remote host closed the connection)
03:02:10 lyxia joins (~lyxia@poisson.chat)
03:02:48 dhruvasagar joins (~dhruvasag@49.207.218.223)
03:04:31 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
03:05:48 biberu joins (~biberu@user/biberu)
03:07:01 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
03:07:52 oac_ joins (~oac@72-50-214-210.fttp.usinternet.com)
03:12:43 segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
03:13:31 cheater_ joins (~Username@user/cheater)
03:13:44 biberu\ joins (~biberu@user/biberu)
03:14:25 × biberu quits (~biberu@user/biberu) (Ping timeout: 250 seconds)
03:15:49 biberu\ is now known as biberu
03:16:27 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
03:16:36 cheater_ is now known as cheater
03:18:46 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
03:24:32 × biberu quits (~biberu@user/biberu) (Ping timeout: 246 seconds)
03:28:33 vandita_ joins (~vandit@87-97-13-61.pool.digikabel.hu)
03:29:24 × oac_ quits (~oac@72-50-214-210.fttp.usinternet.com) (Quit: oac_)
03:30:06 biberu joins (~biberu@user/biberu)
03:30:18 jlwoodwa joins (~jlwoodwa@172.58.84.226)
03:32:06 × vandita quits (~vandit@85-238-93-40.pool.digikabel.hu) (Ping timeout: 260 seconds)
03:34:24 × biberu quits (~biberu@user/biberu) (Ping timeout: 248 seconds)
03:35:21 biberu joins (~biberu@user/biberu)
03:37:39 ChanServ sets mode +o litharge
03:37:40 litharge sets mode -bo *!*@189.162.135.18 litharge
03:42:23 cafkafk joins (~cafkafk@fsf/member/cafkafk)
03:43:33 × jargon quits (~jargon@184.101.75.235) (Remote host closed the connection)
03:43:42 biberu\ joins (~biberu@user/biberu)
03:44:20 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
03:44:31 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
03:45:18 biberu\ is now known as biberu
03:46:14 × extor quits (~extor@ns3018124.ip-149-202-82.eu) (Quit: ZNC 1.8.2+deb2build5 - https://znc.in)
03:51:44 chromoblob joins (~user@37.113.180.121)
03:54:39 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
03:54:59 biberu joins (~biberu@user/biberu)
03:56:16 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 248 seconds)
03:58:03 dhruvasagar joins (~dhruvasag@49.207.218.223)
04:04:17 biberu\ joins (~biberu@user/biberu)
04:04:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
04:05:19 biberu\ is now known as biberu
04:08:52 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:13:29 gmg joins (~user@user/gehmehgeh)
04:13:43 biberu\ joins (~biberu@user/biberu)
04:14:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
04:15:16 biberu\ is now known as biberu
04:24:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
04:24:24 biberu\ joins (~biberu@user/biberu)
04:25:17 biberu\ is now known as biberu
04:28:05 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
04:28:54 extor joins (~extor@ns3018124.ip-149-202-82.eu)
04:29:07 chromoblob joins (~user@37.113.180.121)
04:31:09 segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
04:33:36 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 248 seconds)
04:33:44 biberu\ joins (~biberu@user/biberu)
04:34:25 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
04:36:04 biberu\ is now known as biberu
04:42:38 euandreh1 joins (~Thunderbi@189.6.18.7)
04:43:22 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 255 seconds)
04:43:23 euandreh1 is now known as euandreh
04:43:44 biberu\ joins (~biberu@user/biberu)
04:44:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
04:45:17 biberu\ is now known as biberu
04:54:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
04:54:32 biberu\ joins (~biberu@user/biberu)
04:55:25 biberu\ is now known as biberu
05:03:45 biberu\ joins (~biberu@user/biberu)
05:04:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
05:04:50 × shapr quits (~user@2600:1700:c640:3100:b9fd:fedb:2561:e04e) (Ping timeout: 260 seconds)
05:05:18 biberu\ is now known as biberu
05:08:32 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds)
05:10:06 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
05:13:32 falafel joins (~falafel@63.209.200.131)
05:13:45 biberu\ joins (~biberu@user/biberu)
05:14:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
05:15:17 biberu\ is now known as biberu
05:15:27 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
05:17:44 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
05:17:59 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:18:36 gmg joins (~user@user/gehmehgeh)
05:18:52 edm_ is now known as edm
05:20:09 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
05:20:55 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
05:23:16 × juri_ quits (~juri@84-19-175-187.pool.ovpn.com) (Server closed connection)
05:23:32 juri_ joins (~juri@84-19-175-187.pool.ovpn.com)
05:24:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
05:24:38 biberu\ joins (~biberu@user/biberu)
05:25:30 biberu\ is now known as biberu
05:34:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
05:37:08 biberu joins (~biberu@user/biberu)
05:37:20 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
05:38:25 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
05:38:27 cafkafk joins (~cafkafk@fsf/member/cafkafk)
05:39:27 michalz joins (~michalz@185.246.207.217)
05:39:44 hays joins (rootvegeta@fsf/member/hays)
05:44:27 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
05:45:30 biberu joins (~biberu@user/biberu)
05:51:59 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
05:54:18 biberu\ joins (~biberu@user/biberu)
05:54:48 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
05:55:49 biberu\ is now known as biberu
05:58:00 thegeekinside joins (~thegeekin@189.217.90.138)
06:00:29 × mei quits (~mei@user/mei) (Ping timeout: 268 seconds)
06:03:43 biberu\ joins (~biberu@user/biberu)
06:03:56 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
06:04:09 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
06:04:10 mei joins (~mei@user/mei)
06:04:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
06:05:15 biberu\ is now known as biberu
06:06:25 trev joins (~trev@user/trev)
06:06:56 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-0906-7ddd-44ff-a642.rev.sfr.net) (Ping timeout: 246 seconds)
06:08:52 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-0906-7ddd-44ff-a642.rev.sfr.net)
06:12:38 titibandit joins (~titibandi@user/titibandit)
06:13:43 biberu\ joins (~biberu@user/biberu)
06:13:56 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-0906-7ddd-44ff-a642.rev.sfr.net) (Ping timeout: 240 seconds)
06:14:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
06:15:18 biberu\ is now known as biberu
06:16:36 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 265 seconds)
06:16:52 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-0906-7ddd-44ff-a642.rev.sfr.net)
06:21:56 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-0906-7ddd-44ff-a642.rev.sfr.net) (Ping timeout: 240 seconds)
06:23:43 biberu\ joins (~biberu@user/biberu)
06:24:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
06:24:39 × werneta quits (~werneta@70.142.214.115) (Ping timeout: 250 seconds)
06:25:18 biberu\ is now known as biberu
06:26:40 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:26:49 chomwitt joins (~chomwitt@2a02:587:7a0e:cf00:1ac0:4dff:fedb:a3f1)
06:34:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
06:34:50 biberu\ joins (~biberu@user/biberu)
06:35:45 biberu\ is now known as biberu
06:39:44 mncheck joins (~mncheck@193.224.205.254)
06:40:19 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
06:43:45 biberu\ joins (~biberu@user/biberu)
06:44:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
06:45:51 biberu\ is now known as biberu
06:47:54 × falafel quits (~falafel@63.209.200.131) (Ping timeout: 255 seconds)
06:54:39 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
06:54:45 biberu\ joins (~biberu@user/biberu)
06:57:34 biberu\ is now known as biberu
06:59:56 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
07:01:15 lortabac joins (~lortabac@2a01:e0a:541:b8f0:69ab:5b95:e09f:9970)
07:01:39 dhruvasagar joins (~dhruvasag@49.207.218.223)
07:03:44 biberu\ joins (~biberu@user/biberu)
07:04:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
07:05:21 biberu\ is now known as biberu
07:05:56 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
07:06:38 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
07:07:09 dhruvasagar joins (~dhruvasag@49.207.218.223)
07:07:46 gurkenglas joins (~user@dynamic-046-114-182-029.46.114.pool.telefonica.de)
07:08:06 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
07:11:29 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
07:12:38 dhruvasagar joins (~dhruvasag@49.207.218.223)
07:13:43 biberu\ joins (~biberu@user/biberu)
07:14:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
07:15:17 biberu\ is now known as biberu
07:16:13 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
07:17:08 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
07:18:09 dhruvasagar joins (~dhruvasag@49.207.218.223)
07:19:10 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
07:20:44 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
07:23:00 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
07:23:01 × jmorris quits (uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
07:23:39 dhruvasagar joins (~dhruvasag@49.207.218.223)
07:23:42 biberu\ joins (~biberu@user/biberu)
07:24:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
07:25:17 biberu\ is now known as biberu
07:25:35 sukil parts (~sukil@user/sukil) ()
07:27:56 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
07:29:08 dhruvasagar joins (~dhruvasag@49.207.218.223)
07:34:18 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:34:42 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
07:35:02 biberu\ joins (~biberu@user/biberu)
07:35:56 biberu\ is now known as biberu
07:38:23 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
07:38:42 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
07:39:12 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 255 seconds)
07:42:13 ubert joins (~Thunderbi@p200300ecdf09815bfe154d1462438e46.dip0.t-ipconnect.de)
07:42:49 hisa389 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
07:44:10 ubert1 joins (~Thunderbi@p200300ecdf09815b6cf4bc17eb3fe094.dip0.t-ipconnect.de)
07:44:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
07:44:40 × hisa38 quits (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 260 seconds)
07:44:41 hisa389 is now known as hisa38
07:46:40 biberu joins (~biberu@user/biberu)
07:50:06 × kadobanana quits (~mud@user/kadoban) (Remote host closed the connection)
07:50:31 kadobanana joins (~mud@user/kadoban)
07:54:27 × ubert quits (~Thunderbi@p200300ecdf09815bfe154d1462438e46.dip0.t-ipconnect.de) (Remote host closed the connection)
07:54:27 ubert1 is now known as ubert
07:54:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
07:55:14 ub joins (~Thunderbi@p200300ecdf09815bfe154d1462438e46.dip0.t-ipconnect.de)
07:57:04 biberu joins (~biberu@user/biberu)
07:59:22 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
08:00:53 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
08:04:19 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
08:04:51 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
08:04:51 biberu\ joins (~biberu@user/biberu)
08:05:51 titibandit joins (~titibandi@user/titibandit)
08:06:08 × ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
08:06:22 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
08:06:23 biberu\ is now known as biberu
08:07:53 zeenk joins (~zeenk@2a02:2f04:a106:3c00::7fe)
08:10:56 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
08:11:20 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
08:12:16 × niko quits (niko@libera/staff/niko) (Ping timeout: 620 seconds)
08:13:43 biberu\ joins (~biberu@user/biberu)
08:13:44 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
08:13:51 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
08:14:08 stiell joins (~stiell@gateway/tor-sasl/stiell)
08:14:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
08:14:39 jpds joins (~jpds@gateway/tor-sasl/jpds)
08:15:17 biberu\ is now known as biberu
08:19:41 gtdg joins (~gtdg@user/gtdg)
08:19:48 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
08:21:36 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:782b:e4a2:bdc6:e185) (Remote host closed the connection)
08:23:44 biberu\ joins (~biberu@user/biberu)
08:24:10 × gtdg quits (~gtdg@user/gtdg) (Client Quit)
08:24:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
08:25:17 biberu\ is now known as biberu
08:30:10 × Alex_test quits (~al_test@178.34.163.11) (Ping timeout: 255 seconds)
08:30:57 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:31:55 × AlexZenon quits (~alzenon@178.34.163.11) (Ping timeout: 260 seconds)
08:31:56 × AlexNoo quits (~AlexNoo@178.34.163.11) (Ping timeout: 265 seconds)
08:33:43 biberu\ joins (~biberu@user/biberu)
08:34:25 dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
08:34:33 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
08:35:03 husixu joins (~husixu@2404:e801:2007:2ad:49ca:89e4:729e:9841)
08:35:16 biberu\ is now known as biberu
08:35:54 × ub quits (~Thunderbi@p200300ecdf09815bfe154d1462438e46.dip0.t-ipconnect.de) (Quit: ub)
08:37:15 × ubert quits (~Thunderbi@p200300ecdf09815b6cf4bc17eb3fe094.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
08:38:41 × husixu quits (~husixu@2404:e801:2007:2ad:49ca:89e4:729e:9841) (Client Quit)
08:39:15 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
08:40:20 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
08:41:35 dhruvasagar joins (~dhruvasag@49.207.218.223)
08:43:43 biberu\ joins (~biberu@user/biberu)
08:43:57 <Athas> Does anyone here have experience with using Liquid Haskell?
08:44:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
08:45:17 biberu\ is now known as biberu
08:47:32 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
08:48:03 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
08:48:10 × shriekingnoise_ quits (~shrieking@186.137.175.87) (Ping timeout: 255 seconds)
08:48:27 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:49:10 dhruvasagar joins (~dhruvasag@49.207.218.223)
08:53:44 biberu\ joins (~biberu@user/biberu)
08:54:18 ubert joins (~Thunderbi@2a02:8109:abc0:6434:7683:e8bd:3044:ba11)
08:54:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
08:55:15 × fbytez quits (~uid@2001:bc8:2117:100::) (Ping timeout: 260 seconds)
08:55:17 biberu\ is now known as biberu
08:55:22 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:7683:e8bd:3044:ba11) (Remote host closed the connection)
08:55:35 ubert joins (~Thunderbi@2a02:8109:abc0:6434:2f62:8fd9:5067:a5dd)
08:57:33 fbytez joins (~uid@2001:bc8:2117:100::)
09:01:22 Co0kie joins (~Jura@145.224.73.17)
09:04:42 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
09:05:21 biberu\ joins (~biberu@user/biberu)
09:06:15 biberu\ is now known as biberu
09:09:10 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
09:09:11 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
09:09:46 mmhat joins (~mmh@p200300f1c702b0e8ee086bfffe095315.dip0.t-ipconnect.de)
09:09:52 × vandita_ quits (~vandit@87-97-13-61.pool.digikabel.hu) (Ping timeout: 248 seconds)
09:11:54 Lord_of_Life_ is now known as Lord_of_Life
09:13:44 biberu\ joins (~biberu@user/biberu)
09:14:21 × finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer)
09:14:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
09:14:36 × fbytez quits (~uid@2001:bc8:2117:100::) (Ping timeout: 255 seconds)
09:15:17 biberu\ is now known as biberu
09:16:56 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
09:17:10 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
09:21:30 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
09:22:05 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:782b:e4a2:bdc6:e185)
09:23:07 fbytez joins (~uid@2001:bc8:2117:100::)
09:24:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
09:25:26 biberu\ joins (~biberu@user/biberu)
09:26:23 biberu\ is now known as biberu
09:26:30 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:782b:e4a2:bdc6:e185) (Ping timeout: 240 seconds)
09:30:24 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
09:33:44 biberu\ joins (~biberu@user/biberu)
09:34:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
09:34:38 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Quit: WeeChat 3.8)
09:35:03 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
09:35:16 biberu\ is now known as biberu
09:37:44 chromoblob joins (~user@37.113.180.121)
09:39:08 × fbytez quits (~uid@2001:bc8:2117:100::) (Ping timeout: 240 seconds)
09:43:44 biberu\ joins (~biberu@user/biberu)
09:44:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
09:45:19 biberu\ is now known as biberu
09:46:30 jinsl joins (~jinsl@123.120.169.188)
09:47:29 mc47 joins (~mc47@xmonad/TheMC47)
09:49:42 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 255 seconds)
09:50:44 titibandit joins (~titibandi@user/titibandit)
09:52:51 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 255 seconds)
09:53:45 biberu\ joins (~biberu@user/biberu)
09:54:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
09:55:17 biberu\ is now known as biberu
09:59:09 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 255 seconds)
10:00:41 titibandit joins (~titibandi@user/titibandit)
10:02:49 × sllk quits (~sllk@vps-73d553ae.vps.ovh.net) (Quit: leaving)
10:03:44 biberu\ joins (~biberu@user/biberu)
10:04:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
10:04:45 × rando25892 quits (~andor2985@user/rando25892) (Ping timeout: 240 seconds)
10:05:18 biberu\ is now known as biberu
10:08:21 acidjnk joins (~acidjnk@p200300d6e7072f28fc9054c626dc7d9f.dip0.t-ipconnect.de)
10:13:21 niko joins (niko@libera/staff/niko)
10:13:44 biberu\ joins (~biberu@user/biberu)
10:14:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
10:15:18 biberu\ is now known as biberu
10:17:21 × xff0x quits (~xff0x@125.103.176.34) (Ping timeout: 250 seconds)
10:23:38 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:782b:e4a2:bdc6:e185)
10:23:45 biberu\ joins (~biberu@user/biberu)
10:24:48 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
10:25:19 biberu\ is now known as biberu
10:27:59 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:782b:e4a2:bdc6:e185) (Ping timeout: 240 seconds)
10:32:06 × jackdk quits (sid373013@cssa/jackdk) (Server closed connection)
10:32:15 jackdk joins (sid373013@cssa/jackdk)
10:33:44 biberu\ joins (~biberu@user/biberu)
10:34:05 arrowhead joins (~arrowhead@2603-7000-9b3f-6934-84fe-c7f9-02f3-6912.res6.spectrum.com)
10:34:14 azimut joins (~azimut@gateway/tor-sasl/azimut)
10:34:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
10:34:30 × arrowhead quits (~arrowhead@2603-7000-9b3f-6934-84fe-c7f9-02f3-6912.res6.spectrum.com) (Read error: Connection reset by peer)
10:35:12 arrowhead joins (~arrowhead@2603-7000-9b3f-6934-84fe-c7f9-02f3-6912.res6.spectrum.com)
10:35:19 biberu\ is now known as biberu
10:35:30 <arrowhead> I need to put a reference-like thing in two lists, then change the value of that reference-like thing, then check the two lists and see that they changed as well. I tried IORefs but they're not acting like OCaml refs.
10:36:45 <Rembane> arrowhead: Have you looked into STRefs?
10:36:52 fbytez joins (~uid@2001:bc8:2117:100::)
10:37:00 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
10:37:28 <arrowhead> Rembane: more or less. Aren't they just the same but in ST instead of in IO ?
10:37:48 <arrowhead> I thought in IO would be the "freest" behavior and for sure would change in the two lists, but nope
10:39:05 <arrowhead> e.g. (a >>= (\x -> writeIORef x 2)) >> (((b !! 0) >>= (\x -> readIORef x)) >>= putStrLn . show) >> (((c !! 0) >>= (\x -> readIORef x)) >>= putStrLn . show) is printing 1 1 but I expected 2 2
10:39:10 <arrowhead> b and c are both [a]
10:39:14 <arrowhead> and a is a newIORef 1
10:40:59 <Rembane> arrowhead: That's interesting. Let me play around a bit with it.
10:41:24 <arrowhead> @Rembane please
10:41:24 <lambdabot> Unknown command, try @list
10:42:35 <[Leary]> arrowhead: `newIORef 1` is an IO action that produces a new IORef. If you run it three times, you will produce three unrelated IORefs.
10:43:03 <arrowhead> [Leary]: I understand that part. I'm coming from OCaml looking for something like their ref
10:43:14 <arrowhead> I only ran newIORef once and put it into two lists
10:43:24 <arrowhead> but the things in the lists never change after I change the IO thing
10:43:44 biberu\ joins (~biberu@user/biberu)
10:44:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
10:44:56 <arrowhead> I want to see code that 1. does newIORef once, 2. puts the result in two lists, 3. updates that IORef from outside the lists 4. peers into the lists and sees the changes there
10:45:15 <ncf> % do a <- newIORef 1; let b = [a]; c = [a] in do writeIORef a 2; traverse readIORef b >>= print; traverse readIORef c >>= print
10:45:15 <yahb2> [2] ; [2]
10:45:16 <arrowhead> my attempt above fails for a reason I cannot understand
10:45:19 biberu\ is now known as biberu
10:45:35 pavonia joins (~user@user/siracusa)
10:45:50 <ncf> your attempt above is missing code
10:46:32 <arrowhead> ncf: I don't think I can afford to use let... in, that is a very narrow scenario where you can code within the same scope
10:46:40 <ncf> what
10:46:43 <arrowhead> not really the behavior of OCaml's ref
10:46:58 <ncf> haskell is not ocaml. haskell does not have ocaml-style references
10:47:15 <arrowhead> at all? not even outside IORef? something else with another name?
10:47:50 × pyrex quits (~pyrex@user/pyrex) (Ping timeout: 260 seconds)
10:48:00 <geekosaur> haskell is pure outside of IO. OCaml refs are not pure
10:48:00 × arrowhead quits (~arrowhead@2603-7000-9b3f-6934-84fe-c7f9-02f3-6912.res6.spectrum.com) (Read error: Connection reset by peer)
10:48:12 aliosablack joins (~chomwitt@2a02:587:7a0e:cf00:1ac0:4dff:fedb:a3f1)
10:48:56 pyrex joins (~pyrex@user/pyrex)
10:49:10 <Rembane> Meh. I had an example there. Oh well. For the rest of you: https://gist.github.com/Rembane/faa60107d2c7add230ff5dfd36a9c4c1
10:49:24 <Rembane> It took me way too long to realize that 0 * 2 never will be interesting.
10:49:40 <geekosaur> heh
10:50:28 zeenk2 joins (~zeenk@2a02:2f04:a106:3c00::7fe)
10:50:30 × zeenk quits (~zeenk@2a02:2f04:a106:3c00::7fe) (Ping timeout: 240 seconds)
10:50:30 × chomwitt quits (~chomwitt@2a02:587:7a0e:cf00:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds)
10:50:30 × hays quits (rootvegeta@fsf/member/hays) (Ping timeout: 240 seconds)
10:50:40 ncf wonders what makes someone think they can't use let...in
10:51:09 <Axman6> that was a bizarre conversation
10:51:34 <geekosaur> ^
10:51:54 <ncf> i guess it was more like "let...in does not accurately describe the code i'm already working with but i won't tell you what it is"
10:52:03 <ncf> anyway
10:53:45 biberu\ joins (~biberu@user/biberu)
10:54:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
10:55:19 biberu\ is now known as biberu
10:55:48 <Axman6> not sure why they insistedin writing the code in such a difficult to read manner either. particularly it left out thecrucial definition of what 'a' is
10:56:30 <Rembane> Some list of something I think they eventually wrote
10:56:36 <Rembane> Eh... not very clear
11:03:45 biberu\ joins (~biberu@user/biberu)
11:04:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
11:05:19 biberu\ is now known as biberu
11:06:06 xff0x joins (~xff0x@2405:6580:b080:900:ed3a:f80e:cda:efe1)
11:13:44 biberu\ joins (~biberu@user/biberu)
11:14:45 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
11:15:18 biberu\ is now known as biberu
11:17:42 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
11:19:13 chromoblob joins (~user@37.113.180.121)
11:20:20 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:22:20 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
11:23:45 biberu\ joins (~biberu@user/biberu)
11:24:39 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
11:24:40 user1 joins (~user@103.206.114.90)
11:24:40 user1 is now known as lib
11:24:49 lib is now known as wns
11:25:19 biberu\ is now known as biberu
11:27:07 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
11:27:24 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
11:28:09 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
11:33:04 cafkafk joins (~cafkafk@fsf/member/cafkafk)
11:33:46 biberu\ joins (~biberu@user/biberu)
11:34:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
11:35:20 biberu\ is now known as biberu
11:35:27 × xff0x quits (~xff0x@2405:6580:b080:900:ed3a:f80e:cda:efe1) (Ping timeout: 255 seconds)
11:37:26 __monty__ joins (~toonn@user/toonn)
11:37:32 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
11:43:44 biberu\ joins (~biberu@user/biberu)
11:44:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
11:45:17 biberu\ is now known as biberu
11:46:00 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
11:46:48 dhruvasagar joins (~dhruvasag@49.207.218.223)
11:51:23 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
11:51:39 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
11:51:59 × Co0kie quits (~Jura@145.224.73.17) (Ping timeout: 240 seconds)
11:52:18 dhruvasagar joins (~dhruvasag@49.207.218.223)
11:53:45 biberu\ joins (~biberu@user/biberu)
11:53:53 <Unicorn_Princess> i'm using emacs and lsp-haskell, and i'm trying to disable lsp automatically inserting import statements when I tab-complete something that's not yet imported. i've got lsp-haskell-plugin-ghcide-completions-config-auto-extend-on set to nil, but that only half fixed it, because when i tab-complete a constructor that's not in scope, it adds an "import Module.Name (TheType(TheCtor))" on top of my file anyway
11:54:48 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
11:54:52 × califax quits (~califax@user/califx) (Remote host closed the connection)
11:55:15 califax joins (~califax@user/califx)
11:55:17 biberu\ is now known as biberu
11:56:44 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
11:57:08 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds)
11:57:57 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds)
11:58:06 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:00:19 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
12:00:47 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
12:01:33 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 255 seconds)
12:02:32 paddymahoney joins (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
12:02:32 euandreh joins (~Thunderbi@189.6.18.7)
12:02:54 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
12:03:37 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:03:44 biberu\ joins (~biberu@user/biberu)
12:04:11 <ncf> did you restart hls?
12:04:42 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
12:05:17 biberu\ is now known as biberu
12:05:20 <Unicorn_Princess> i'll try restarting the whole lot (tho i've had that setting set to nil for a while, not a recent change)
12:05:32 × euandreh quits (~Thunderbi@189.6.18.7) (Client Quit)
12:05:44 chromoblob joins (~user@37.113.180.121)
12:06:57 <Unicorn_Princess> didn't help. in fact i tried just a generic tab-complete a function that's not imported, and it auto-imported the module all the same
12:07:26 <Unicorn_Princess> so doesn't seem limited to constructors. i could have sworn i'd managed to turn it off..
12:07:59 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
12:08:15 <Unicorn_Princess> has anyone manage to disable auto-inserting-imports in any other editor, and how?
12:09:11 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:14:20 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
12:14:20 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
12:16:00 biberu\ joins (~biberu@user/biberu)
12:16:10 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:16:34 <lortabac> ncf: "what makes someone think they can't use let...in" -> they thought IORef behaved like mutable variables
12:16:54 biberu\ is now known as biberu
12:17:08 <lortabac> consider this example in Scheme:
12:17:38 <lortabac> (let ([x 1]) (set! x 2) (write x)) ;;; prints 2
12:18:49 <lortabac> now try modifying the variable outside of the scope:
12:19:10 <lortabac> (define (modify-arg x) (set! x 2)) (let ([x 1]) (modify-arg x) (write x)) ;;; prints 1
12:20:44 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
12:21:44 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:22:15 <lortabac> that's why they asked for an example where the mutation happens in a different scope
12:22:36 × b20n quits (sid115913@id-115913.uxbridge.irccloud.com) (Server closed connection)
12:22:45 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
12:22:46 b20n joins (sid115913@id-115913.uxbridge.irccloud.com)
12:23:05 kritty joins (~crumb@c-76-155-235-153.hsd1.co.comcast.net)
12:23:46 biberu\ joins (~biberu@user/biberu)
12:24:04 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
12:24:30 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
12:25:20 biberu\ is now known as biberu
12:26:20 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
12:27:15 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:31:32 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
12:32:48 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:33:45 biberu\ joins (~biberu@user/biberu)
12:34:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
12:35:18 biberu\ is now known as biberu
12:38:59 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
12:40:22 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:40:36 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
12:40:49 chele joins (~chele@user/chele)
12:42:33 Daniel[m]123 joins (~danieltan@2001:470:69fc:105::3:6e5e)
12:43:45 biberu\ joins (~biberu@user/biberu)
12:44:29 × biberu quits (~biberu@user/biberu) (Ping timeout: 240 seconds)
12:45:12 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
12:45:17 biberu\ is now known as biberu
12:45:55 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:47:55 × ddellacosta quits (~ddellacos@146.70.165.139) (Quit: WeeChat 3.8)
12:48:06 × RMSBach quits (~guygastin@137.184.131.156) (Server closed connection)
12:48:59 × wns quits (~user@103.206.114.90) (Ping timeout: 240 seconds)
12:49:26 RMSBach joins (~guygastin@137.184.131.156)
12:50:36 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
12:51:26 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:51:30 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 255 seconds)
12:53:44 biberu\ joins (~biberu@user/biberu)
12:54:39 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
12:55:17 biberu\ is now known as biberu
12:55:56 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
12:56:36 × mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Server closed connection)
12:56:46 mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es)
12:57:13 dhruvasagar joins (~dhruvasag@49.207.218.223)
12:59:13 oac joins (~oac@72-50-214-210.fttp.usinternet.com)
13:00:30 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 255 seconds)
13:01:29 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
13:02:45 dhruvasagar joins (~dhruvasag@49.207.218.223)
13:03:46 biberu\ joins (~biberu@user/biberu)
13:04:33 × biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds)
13:05:09 × biberu\ quits (~biberu@user/biberu) (Read error: Connection reset by peer)
13:07:00 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 240 seconds)
13:08:17 dhruvasagar joins (~dhruvasag@49.207.218.223)
13:13:06 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Ping timeout: 255 seconds)
13:13:36 × tritlo quits (sid58727@user/tritlo) (Server closed connection)
13:13:45 tritlo joins (sid58727@user/tritlo)
13:13:49 dhruvasagar joins (~dhruvasag@49.207.218.223)
13:15:01 chromoblob joins (~user@37.113.180.121)
13:15:20 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
13:16:16 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
13:18:08 cafkafk joins (~cafkafk@fsf/member/cafkafk)
13:18:11 euandreh joins (~Thunderbi@189.6.18.7)
13:18:27 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
13:21:19 × euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection)
13:22:08 kriity joins (~kriity@c-76-155-235-153.hsd1.co.comcast.net)
13:22:43 euandreh joins (~Thunderbi@189.6.18.7)
13:23:08 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
13:24:44 × acidjnk quits (~acidjnk@p200300d6e7072f28fc9054c626dc7d9f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:25:43 × kriity quits (~kriity@c-76-155-235-153.hsd1.co.comcast.net) (Client Quit)
13:26:20 × robobub quits (uid248673@uxbridge.irccloud.com) (Ping timeout: 268 seconds)
13:27:00 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
13:27:50 biberu joins (~biberu@user/biberu)
13:28:17 titibandit joins (~titibandi@user/titibandit)
13:29:28 robobub joins (uid248673@id-248673.uxbridge.irccloud.com)
13:30:19 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
13:30:19 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
13:30:19 wroathe joins (~wroathe@user/wroathe)
13:30:20 × biberu quits (~biberu@user/biberu) (Client Quit)
13:31:29 biberu joins (~biberu@user/biberu)
13:34:53 × biberu quits (~biberu@user/biberu) (Client Quit)
13:35:56 biberu joins (~biberu@user/biberu)
13:36:00 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
13:39:13 × biberu quits (~biberu@user/biberu) (Client Quit)
13:39:14 × oac quits (~oac@72-50-214-210.fttp.usinternet.com) (Quit: oac)
13:40:21 biberu joins (~biberu@user/biberu)
13:41:45 × son0p quits (~ff@181.136.122.143) (Ping timeout: 265 seconds)
13:45:23 × russruss quits (~russruss@my.russellmcc.com) (Server closed connection)
13:45:30 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds)
13:45:43 russruss joins (~russruss@my.russellmcc.com)
13:50:51 elain4 joins (~textual@static-71-251-226-194.rcmdva.fios.verizon.net)
13:54:30 <kuribas> I really don't get how people think exploratory programming is much easier without types.
13:54:46 × Adran quits (~adran@botters/adran) (Quit: Este é o fim.)
13:55:21 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
13:55:33 <kuribas> I am currently writing python with types, and still making small changes to my logic and types. The ability to directly see how a change impacts the code is just invaluable.
13:55:44 <kuribas> I just don't see how not having types makes it *easier*.
13:56:15 <kuribas> I know there was some company that went from haskell to untyped ruby for that reason.
13:58:16 <lortabac> kuribas: when you are exploring you just want to try out things and see what happens
13:58:40 <lortabac> you don't want to think about plenty of tiny details which are irrelevant to your exploration
13:59:02 <lortabac> but static type checking forces you to get everything right upfront
13:59:11 <kuribas> how do you see what happens without details?
13:59:18 <kuribas> lortabac: also, I disagree.
13:59:31 <kuribas> I can very easily leave holes, in types, in implementations...
13:59:49 <lortabac> maybe we are not thinking of the same scenario
14:00:14 <__monty__> kuribas: Whenever structural subtyping would be required it does tend to get annoying.
14:01:36 <lortabac> lack of static typing makes your first "hello world" easier when you try a new library or API
14:01:52 <lortabac> but the advantage more or less ends there
14:02:29 <kuribas> I am much faster with a haskell library than clojure/python, because it is more precise.
14:02:50 <kuribas> I often find my self going through walls of text in python/clojure in order to find some functionality.
14:03:02 <kuribas> While in haskell I just search through the types.
14:03:09 <kuribas> Which usually tell me quickly if it is possible or not.
14:03:37 thegeekinside joins (~thegeekin@189.217.90.138)
14:04:02 <lortabac> I don't know, personally I like to use dynamically-typed languages for very simple projects
14:04:19 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-0906-7ddd-44ff-a642.rev.sfr.net)
14:04:20 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
14:04:28 <kuribas> sure, so do I, like a bash script.
14:04:35 <kuribas> Or a small calculation in Python.
14:04:37 <lortabac> it's not just the types, it's the entire thing that is built around the idea of no boilerplate
14:04:45 <kuribas> anything that isn't > 100 lines.
14:05:05 <lortabac> in Haskell I need to set up a cabal project, declare the modules, import a bunch of stuff...
14:05:13 Adran joins (~adran@botters/adran)
14:05:13 × energizer quits (~energizer@user/energizer) (Server closed connection)
14:05:29 <lortabac> I don't do it unless it's worth
14:05:50 <kuribas> yeah, that's a pain. But has nothing to do with types.
14:05:55 energizer joins (~energizer@user/energizer)
14:06:19 <lortabac> I know, but it's one "symptom" of a different culture
14:06:54 <glguy> I do the same thing in python projects
14:08:59 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
14:10:44 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
14:11:04 × kritty quits (~crumb@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection)
14:12:15 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
14:12:47 titibandit joins (~titibandi@user/titibandit)
14:13:14 <merijn> lortabac: You can put the cabal stuff inside a single file
14:13:29 acidjnk joins (~acidjnk@p200300d6e7072f28fc9054c626dc7d9f.dip0.t-ipconnect.de)
14:13:48 <merijn> admittedly, I think that's not super well documented/discoverable
14:14:41 <lortabac> merijn: do you mean I can have a single file with both the cabal configuration and the code?
14:14:54 <merijn> lortabac: Yes
14:15:08 × gurkenglas quits (~user@dynamic-046-114-182-029.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
14:15:16 <merijn> lortabac: See the cabal run documentation: https://cabal.readthedocs.io/en/stable/cabal-commands.html#cabal-run
14:15:51 <lortabac> merijn: thanks, that's very useful
14:16:33 × EsoAlgo81 quits (~EsoAlgo@129.146.136.145) (Server closed connection)
14:16:58 <merijn> iirc this has been available for, well, approaching a decade now, but it hasn't been well documented for a long time (the new cabal-run docs seem pretty decent, though)
14:16:58 EsoAlgo81 joins (~EsoAlgo@129.146.136.145)
14:18:29 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-0906-7ddd-44ff-a642.rev.sfr.net) (Ping timeout: 240 seconds)
14:19:55 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:20:46 cheater joins (~Username@user/cheater)
14:20:55 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:69ab:5b95:e09f:9970) (Quit: WeeChat 2.8)
14:23:01 <dolio> kuribas: I don't understand it either, for what it's worth.
14:24:42 thegeekinside joins (~thegeekin@189.217.90.138)
14:26:03 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
14:26:32 ddellacosta joins (~ddellacos@146.70.165.139)
14:27:51 <dolio> (Probably not worth much.)
14:32:56 × SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (Server closed connection)
14:33:43 SrPx joins (sid108780@id-108780.uxbridge.irccloud.com)
14:34:02 user1 joins (~user@103.206.114.69)
14:34:02 user1 is now known as wns
14:40:12 × paddymahoney quits (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
14:42:15 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
14:45:19 gurkenglas joins (~user@dynamic-046-114-182-029.46.114.pool.telefonica.de)
14:46:28 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
14:49:26 shriekingnoise joins (~shrieking@186.137.175.87)
14:52:30 cafkafk joins (~cafkafk@fsf/member/cafkafk)
14:53:23 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 250 seconds)
14:53:47 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
14:55:00 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
15:05:03 × fbytez quits (~uid@2001:bc8:2117:100::) (Changing host)
15:05:03 fbytez joins (~uid@user/fbytez)
15:10:23 × Xe quits (~cadey@tailscale/xe) (Server closed connection)
15:10:49 Xe joins (~cadey@tailscale/xe)
15:11:51 Sgeo joins (~Sgeo@user/sgeo)
15:15:57 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 255 seconds)
15:19:13 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
15:24:03 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
15:25:54 econo joins (uid147250@user/econo)
15:26:12 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
15:26:29 paddymahoney joins (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
15:27:29 shriekingnoise joins (~shrieking@186.137.175.87)
15:30:07 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b)
15:34:29 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b) (Ping timeout: 240 seconds)
15:34:40 ripspin joins (~chatzilla@1.145.173.162)
15:35:36 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b)
15:35:42 shef joins (~deglazewi@209-188-121-236.taosnet.com)
15:36:35 × shef quits (~deglazewi@209-188-121-236.taosnet.com) (Quit: WeeChat 3.0)
15:36:47 deglazewithcheet joins (~deglazewi@209-188-121-236.taosnet.com)
15:38:08 × jlwoodwa quits (~jlwoodwa@172.58.84.226) (Ping timeout: 248 seconds)
15:40:00 <albet70> lortabac , I like scheme too
15:41:02 <albet70> I think scheme and haskell are two wonderful languages, and in some way they are very similar except on type
15:43:27 thegeekinside joins (~thegeekin@189.217.90.138)
15:44:12 <tokie> i wrote a scheme compiler for the web (WASM)! https://www.marwood.io/
15:44:19 <tokie> scheme was super fun to implement :)
15:45:30 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
15:45:32 <Rembane> \o/
15:46:30 × dhruvasagar quits (~dhruvasag@49.207.218.223) (Read error: Connection reset by peer)
15:46:52 cheater joins (~Username@user/cheater)
15:47:28 <Hecate> tokie: nice!
15:50:35 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b) (Remote host closed the connection)
15:51:10 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
15:52:16 talismanick joins (~user@2601:204:ef01:8ca0::a680)
15:53:36 <talismanick> How can I eval inline code like `-- >>> 1 + 1` inside Emacs via lsp-mode? Apparently this is supported by HLS: https://hackage.haskell.org/package/hls-eval-plugin
15:56:20 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
15:57:04 <glguy> talismanick: when I tried it I see this: https://ibb.co/5TXFWkP
15:57:11 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
15:57:13 <glguy> and when I clicked on evaluate..., it did
15:57:17 <albet70> what's that callCC definition by function?
15:59:50 <EvanR> is that emacs? it looks like something off of hollywood OS
16:00:04 <glguy> EvanR: it's emacs configured with spacemacs
16:01:00 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
16:01:14 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:01:23 <EvanR> wow spacemacs has lifestyle brand merchandise and everything
16:01:47 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b)
16:02:27 × mei quits (~mei@user/mei) (Remote host closed the connection)
16:04:09 <ncf> albet70: rephrase?
16:04:16 <EvanR> I noticed on tomsmeding paste on chrome on OSX if I type -> a prompt appears to let me auto replace with →. Snazzy. It doesn't work in firefox on linux. Not snazzy :'(
16:04:53 mei joins (~mei@user/mei)
16:10:49 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection)
16:11:16 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
16:11:32 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
16:12:06 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Server closed connection)
16:12:18 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b) (Remote host closed the connection)
16:12:23 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
16:13:01 <talismanick> glguy: you're right, it works with a mouse click... too bad I can't seem to figure out which function it is so I can bind it
16:15:57 dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net)
16:17:55 Maxdamantus joins (~Maxdamant@user/maxdamantus)
16:19:08 × gurkenglas quits (~user@dynamic-046-114-182-029.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
16:23:45 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:2f62:8fd9:5067:a5dd) (Remote host closed the connection)
16:26:38 bilegeek joins (~bilegeek@2600:1008:b043:3798:77a9:11b8:240f:486c)
16:29:09 × ridcully_ quits (~ridcully@87.181.47.44) (Ping timeout: 250 seconds)
16:29:43 × anderson quits (~ande@user/anderson) (Quit: bye)
16:29:44 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:30:06 anderson joins (~TheFunOne@user/anderson)
16:31:47 ridcully_ joins (~ridcully@p57b52f2c.dip0.t-ipconnect.de)
16:32:30 anderson_ joins (~TheFunOne@user/anderson)
16:33:24 × anderson_ quits (~TheFunOne@user/anderson) (Remote host closed the connection)
16:33:43 <glguy> talismanick: I don't know enough emacs to know how to do it without the click
16:40:44 × ridcully_ quits (~ridcully@p57b52f2c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
16:41:07 ridcully_ joins (~ridcully@p57b52f2c.dip0.t-ipconnect.de)
16:45:10 × zeenk2 quits (~zeenk@2a02:2f04:a106:3c00::7fe) (Quit: Konversation terminated!)
16:45:54 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b)
16:46:16 gurkenglas joins (~user@dynamic-046-114-182-029.46.114.pool.telefonica.de)
16:46:44 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
16:49:00 ijqq joins (uid603979@id-603979.helmsley.irccloud.com)
16:49:09 ijqq_ joins (uid603979@id-603979.helmsley.irccloud.com)
16:49:22 <ijqq_> Hello
16:49:42 <geekosaur> hello
16:50:11 × deglazewithcheet quits (~deglazewi@209-188-121-236.taosnet.com) (Quit: WeeChat 3.0)
16:50:18 <[exa]> o/
16:50:36 <ijqq_> How's it going?
16:50:50 shapr joins (~user@2600:1700:c640:3100:b6fa:cb8d:bd7d:c291)
16:52:40 <ijqq_> I recently watched a video by tsoding on "creating a json parser from scratch in 110 lines of code" and I want to write something similar for a toy language that my friend created. It looks a bit like C.
16:52:40 <ijqq_> I also read a bit about parsing online and they say you can first tokenise the input and then convert the input into a syntax tree. My question is, does it make sense to tokenise before parsing when creating a parser for his language, as it isn't whitespace sensitive? So I could make a function to strip whitespace at the start or just make the parser functions ignore whitespace?
16:53:08 <ijqq_> I'm a noob in regards to both parsing and haskell, so I'm a bit confused.
16:59:18 aliosablack is now known as chomwitt
17:03:25 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
17:05:30 titibandit joins (~titibandi@user/titibandit)
17:07:09 <__monty__> ijqq_: Parsing in Haskell is usually done with parser combinators (I recommend Megaparsec). Usually there's no separate lexing/tokenizing step with that approach. Your separate parsers would just eat trailing whitespace or whatever.
17:08:16 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
17:08:19 cheater joins (~Username@user/cheater)
17:08:41 <__monty__> I'm not sure how closely you want to follow Tsoding's example though, they may have used Alex/Happy, which is the lexing and parsing combination you're probably finding on the web.
17:09:50 <ijqq_> They did it from scratch, I think the approach was parser combinators though. They defined a parser for chars, used that to parse words, etc. . And made the parser applicative and combined them together
17:10:11 <ijqq_> The terminology I used might be wrong, I'm quite new, but I think that's what it was
17:10:46 <[exa]> that sounds like a parser combinator yeah.
17:11:09 <ijqq_> Okay, so I shouldn't bother with a separate tokenisation step then?
17:11:29 <[exa]> depends on a language you parse but it's generally not required
17:13:00 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
17:13:02 <[exa]> sometimes it really helps for disambiguating stuff around whitespace separators (some languages consider `a (` and `a(` to be different code), and in certain cases it limits unnecessary backtracking over all characters to a reasonable minimum
17:14:24 <ijqq_> alright nice, thank you
17:14:43 <EvanR> I got a lot of traction during advent of code by tokenizing first :sunglasses:
17:14:45 <__monty__> Either way it wouldn't be all that separate a step, it's still binding parsers together.
17:14:57 <EvanR> but I didn't use megaparsec which makes dropping space easy
17:15:32 × mei quits (~mei@user/mei) (Remote host closed the connection)
17:15:53 <__monty__> I think ijqq_ wants to do it without Megaparsec though, maybe they should take a look at your AoC repo. Unless you used Parsec or ReadP?
17:16:07 <EvanR> I used raw haskell pattern matching xD
17:16:22 <EvanR> and the simplifying assumption that the input was well formed
17:16:29 <EvanR> so maybe not a great example
17:17:29 <[exa]> ijqq_: one extra concern is error reporting; tokenization usually produces comprehensible errors and the subsequent parsing cannot hallucinate on "hey it might parse if we changed this character in the most weird way possible"
17:17:58 mei joins (~mei@user/mei)
17:19:56 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
17:20:02 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-0906-7ddd-44ff-a642.rev.sfr.net)
17:24:29 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
17:25:21 <ijqq_> do you have any good resources to learn about this kind of stuff?
17:25:26 <ijqq_> like how to write a programming language?
17:28:45 <geekosaur> write yourself a scheme?
17:29:57 <geekosaur> @where WYaS
17:29:57 <lambdabot> I know nothing about wyas.
17:30:00 <geekosaur> sad
17:30:38 <geekosaur> https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours
17:31:12 <yushyin> the dragon book would be a classic
17:32:58 <geekosaur> @where+ WYaS https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours
17:32:58 <lambdabot> Done.
17:35:45 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
17:36:55 <yushyin> (but the dragon book is more about compiler/interpreter implementation and less about language design. nevertheless a good read)
17:37:02 <pyrex> fwiw, I think tokenizing first is a good idea just because the humans reading your code very likely think of it as being written in words and sentences
17:37:15 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
17:37:33 <pyrex> you are likely to produce confusing errors if your parser's definition of "a word" depends on the parser's state, because it is different from what humans assume
17:37:52 <pyrex> i think this is similar to what [exa] is pointing out, I'm just giving a specific example of how not tokenizing can go weirdly
17:38:43 AlexNoo joins (~AlexNoo@178.34.163.88)
17:40:00 <pyrex> i also think that for certain languages, it is really hard to show "this can be parsed without backtracking" if the code that recognizes an identifier looks like it can backtrack indefinitely
17:40:14 AlexZenon joins (~alzenon@178.34.163.88)
17:40:23 <pyrex> when a language claims "don't worry, I'm in LL(1)" they almost always mean "... with a tokenizer!"
17:41:56 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
17:42:10 <pyrex> (if you have not seen the term LL(1), it just means "if you write a naive 'backtrack and try again' parser, it only needs to backtrack one token" -- and that has the advantage that you can often write a parser for it the same way you would write a non-backtracking parser -- you just have an extra peek() operation that looks a single token ahead)
17:42:38 Alex_test joins (~al_test@178.34.163.88)
17:43:39 × ripspin quits (~chatzilla@1.145.173.162) (Remote host closed the connection)
17:46:40 <ijqq_> ah okay
17:46:51 <ijqq_> thank you for the information and the recommendations :)
17:47:00 <pyrex> i hope it helps!!! this kind of project is usually pretty fun
17:47:06 <ijqq_> i have lots to learn
17:47:28 <ijqq_> yes i hope so
17:47:39 <pyrex> if you find the parser to be tricky, remember that many real parsers are just trying every rule, then giving up and trying the next rule if the previous one doesn't work
17:48:13 <pyrex> also, arithmetic expressions are always a butt and it's ok to special case them!!!!!
17:48:18 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b) (Remote host closed the connection)
17:48:28 Albina_Pavlovna joins (~Albina_Pa@2600:4040:9526:fe00:d428:e478:aa82:9afd)
17:50:50 ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de)
17:53:31 oneeyedalien joins (~oneeyedal@125-63-26-213.ip4.superloop.au)
17:58:26 segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
17:58:36 <segfaultfizzbuzz> what? "It's also possible to abstract Lists and Trees into polynomials, as every polynomial looks like a sum of terms." - https://functionalcs.github.io/curriculum/
17:59:00 <segfaultfizzbuzz> oh because sum and product type?
17:59:09 × oneeyedalien quits (~oneeyedal@125-63-26-213.ip4.superloop.au) (Quit: Leaving)
17:59:29 <dolio> List A = Σ_i A^i
17:59:37 <dolio> Unless you're in Haskell.
17:59:44 <segfaultfizzbuzz> A^i is what?
18:00:09 <ddellacosta> is it a bad idea to use the websockets library along with http-client? It's not clear to me how to write websocket code with http-client, if it's even possible
18:00:09 <dolio> The i-fold product of A.
18:00:11 × Albina_Pavlovna quits (~Albina_Pa@2600:4040:9526:fe00:d428:e478:aa82:9afd) (Quit: bb)
18:00:19 <dolio> Or functions from a finite set of size i to A.
18:00:58 gmg joins (~user@user/gehmehgeh)
18:01:54 <segfaultfizzbuzz> does that translate to this? " the type of List A is [A] or [A, A], or [A, A, A], or [A, A, A, A], or etc..."
18:02:10 <dolio> Yeah, although you missed the 0 case.
18:02:27 <segfaultfizzbuzz> ...sounds like a java null disaster?
18:03:12 <segfaultfizzbuzz> actually i have never considered whether it would make sense to forbid empty lists and whether to annotate that possibility in the type signature...
18:03:28 <jade[m]> NonEmpty
18:04:14 <ncf> x(1 + x + x² + x³ + ...) = x + x² + x³ + ...
18:05:09 <dolio> Sometimes you want empty lists.
18:05:11 <segfaultfizzbuzz> so why would i want to model things this way, is there a type galois theory or somtehing?
18:07:04 <ncf> as a cute application of this, the type of one-hole contexts of a type constructor is its derivative
18:07:16 <ncf> https://en.wikibooks.org/wiki/Haskell/Zippers#Zippers_via_Differentiation
18:07:44 <ncf> er, #Differentiation_of_data_types
18:10:11 <segfaultfizzbuzz> oh wow this seems like a great website thanks for the link
18:11:56 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
18:13:35 <ijqq_> wow i found this website online, crafting interpreters
18:13:42 <ijqq_> looks great
18:18:09 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b)
18:19:33 santiagopim joins (~user@90.167.66.131)
18:24:27 <tomsmeding> EvanR: Does that not happen in other textboxes in chrome?
18:24:31 <tomsmeding> the -> replacement
18:25:06 <tomsmeding> it's just a <textbox> :p
18:25:12 <tomsmeding> er, <textarea>
18:26:48 <EvanR> you would be a terrible president. Refusing to take credit for stuff you're not responsible for in any way!
18:28:13 <geekosaur> it's not happening for me, fwiw (chrome, linux)
18:28:24 <geekosaur> I would wonder if it's a locally installed extension
18:28:57 <ijqq_> Hi guys, a big noob question here. http://sprunge.us/dPeQmx at the end of runPrompt I get an error that i'm trying to do run line runPrompt but I want to do run line, and then runPrompt. How can I do that?
18:29:22 <dolio> segfaultfizzbuzz: Polynomial types are a common class of types of interest in type theory. They are a more semantic characterization of the class of types that can be defined via strictly positive Haskell-alike data declarations.
18:30:12 <dolio> And they can be shown to exist in a lot of scenaraios. Like, sets can encode polynomial types.
18:30:18 <segfaultfizzbuzz> are type declarations in haskell "terminating"? no, right?
18:30:42 <dolio> I don't know what you mean by that.
18:30:51 <segfaultfizzbuzz> that is to say, when haskell looks at my type declaration, does it need to chase the types all the way down so that they are known at compile time
18:31:23 <ncf> as opposed to what?
18:32:15 <geekosaur> ijqq_, `else do`
18:32:24 <xerox> segfaultfizzbuzz: there exists this https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/defer_type_errors.html
18:32:42 <segfaultfizzbuzz> i suppose at runtime you could define a type...?
18:32:48 <ijqq_> thank you :)
18:33:36 <geekosaur> otherwise it's just a continnued expression
18:34:04 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b) (Remote host closed the connection)
18:34:38 <segfaultfizzbuzz> another way of asking this is: if we define some essential atomic types such as Int, Char, String, List A, etc then all types constructed in haskell must reduce to the atomic types (e.g. be a polynomial of the atoms)?
18:36:01 <dolio> Haskell allows definitions of types that don't correspond to polynomials (at least, excepting possibly cases where in a particular model the semantics coincide).
18:36:13 <geekosaur> I have a feeling the answer is "there is more in heaven and earth, Horation, than is dreamt of in your philosophy"
18:36:19 <geekosaur> *Horatio
18:36:47 <dolio> Like: data Hyper a = H ((Hyper a -> a) -> a)
18:37:12 <__monty__> Define a type at run-time?
18:37:49 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
18:38:15 <segfaultfizzbuzz> what haha? a generic type which takes a generic function returning the genera and maps that function onto a genera? not sure what H does there
18:38:17 <dolio> And yeah, conceptually, everything to do with types happens (or can happen) in a phase prior to runtime.
18:38:44 <segfaultfizzbuzz> so typechecking is "strict" and "must terminate"
18:38:55 <segfaultfizzbuzz> i mean unless you want to wait infinitely long for your program to compile lol
18:39:33 <dolio> There are extensions that can allow type checking to diverge (undecidable instances). But it's normally supposed to complete.
18:46:27 ripspin joins (~chatzilla@1.145.185.178)
18:47:46 <segfaultfizzbuzz> so a type is a polynomial, but... what would be the significance of a "polynomial coefficient"--it seems like there cannot be one...?
18:48:05 <segfaultfizzbuzz> like what would 2*Int^3 be, as compared to Int^3 ?
18:48:41 <ncf> a polynomial data type is a polynomial
18:49:12 <ncf> we're talking about type constructors here, data types with an argument
18:49:22 kritty joins (~crumb@c-76-155-235-153.hsd1.co.comcast.net)
18:49:25 <ncf> the argument plays the role of the indeterminate X in the polynomial
18:49:47 <mauke> 2*Int^3 = (Bool, Ordering -> Int) -- if I remember my algebra
18:49:57 <ncf> it doesn't make sense to call 2*Int^3 a polynomial, just like it doesn't make sense to call 42 a polynomial (unless you're considering it as the constant polynomial X ↦ 42)
18:50:36 <segfaultfizzbuzz> then let my polynomial P = (-1)*(Int^2) + (5)*(Int^3)
18:50:54 <ncf> but in types 2* would translate as (Bool,)
18:51:07 <mauke> that still looks like a constant to me
18:51:16 <segfaultfizzbuzz> ...so 2 refers to the cardinality of the type?
18:51:24 <segfaultfizzbuzz> so types with equal cardinality are equivalent or something...?
18:51:26 cheater joins (~Username@user/cheater)
18:51:34 <mauke> you can isomorph them
18:52:32 <segfaultfizzbuzz> wow this is blowing my mind
18:53:13 <segfaultfizzbuzz> so (2*) is Bool, but it also is like CheckersPlayer and ComputerPowerStatus, and so on?
18:53:53 <segfaultfizzbuzz> "infinite" types like Int make this a bit difficult to think about,... especially sine then Int^2 would equal Int due to equal cardinality...?
18:54:01 <segfaultfizzbuzz> *especially since'
18:54:26 <geekosaur> exponentiation is a function
18:54:35 <ncf> gotta be careful with equality, but they would at least be isomorphic
18:54:36 <geekosaur> note what mauke said earlier
18:54:39 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
18:54:53 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
18:55:06 <ncf> (but the isomorphism isn't quite as nice as the isomorphisms we usually want to think about)
18:55:24 <mauke> > maxBound :: Int
18:55:25 <lambdabot> 9223372036854775807
18:55:36 <ncf> oh yeah, i'm thinking of Integer
18:55:47 <ncf> Int is a finite type :p
18:57:07 <segfaultfizzbuzz> oops that was my mistake, yeah i mean the lazy/infinite Integer type there
18:57:09 <dolio> Yeah, Int^2 is not isomorphic to Int. You need Integer for that.
18:57:16 <segfaultfizzbuzz> so Integer^2 = Integer
18:57:44 <geekosaur> isn't it Bool -> Integer?
18:57:49 <mauke> don't think Integer is lazy
18:58:16 <ncf> geekosaur: yes, for example
18:58:34 laxask joins (~laxask@2a01:c22:8d40:6100:b471:50a5:1f09:a15)
18:58:55 <ncf> we're using pseudocode here
18:59:28 <segfaultfizzbuzz> Integer^2 = Bool -> Integer ?
18:59:50 <dolio> Yeah.
19:00:04 <mauke> (Integer, Integer) = Bool -> Integer
19:00:27 × mei quits (~mei@user/mei) (Remote host closed the connection)
19:00:28 <segfaultfizzbuzz> ...but then you aren't just using cardinality, since Bool -> Integer is countable, and so is Integer
19:00:46 <segfaultfizzbuzz> so this is using something other than that to define equality/equivalence
19:00:57 <ncf> we're defining it as isomorphism
19:01:13 <ncf> A and B are isomorphic if there are functions to :: A → B, from :: B → A such that to . from = id and from . to = id
19:01:33 <segfaultfizzbuzz> hmm unfortunately that applies here
19:01:47 <segfaultfizzbuzz> there is an isomorphism from (Integer, Integer) to Integer
19:01:55 <ncf> yes, which is why they are isomorphic
19:02:06 <ncf> why is this unfortunate?
19:02:38 <segfaultfizzbuzz> which seems like any time you touch an infinite type it is an Integer
19:02:51 <geekosaur> it is isomorphic to
19:02:52 mei joins (~mei@user/mei)
19:03:03 <ncf> Integer → Integer is larger than Integer
19:03:06 <geekosaur> meaning you could assign an Integer value to any value in the type
19:03:12 <segfaultfizzbuzz> unfortunate because it feels like a loss of information or pathology, like divide by zero
19:03:12 <geekosaur> not that they're identical
19:03:48 <jade[m]> any countable set is isomorphic to the set of integers right
19:03:52 <mauke> everything in RAM is represented as a sequence of bits. a sequence of bits is an integer
19:03:53 <chromoblob> ncf: computable stuff, though, isn't
19:04:07 <jade[m]> more or less by definition
19:05:15 <ncf> this is irrelevant to the matter at hand, which is that you couldn't define an isomorphism between Integer and Integer → Integer in haskell (without cheating and looking at the RAM, i guess)
19:06:17 <segfaultfizzbuzz> but you could define one on paper mathematically...?
19:06:32 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
19:06:33 <mauke> no, only in practice
19:06:35 <dolio> Being represented by an integer isn't sufficient for such an isomorphism to exist.
19:06:37 <ncf> in the effective topos, maybe
19:06:53 <mauke> if you do it rigorously, it doesn't work
19:07:24 × ripspin quits (~chatzilla@1.145.185.178) (Remote host closed the connection)
19:07:31 <segfaultfizzbuzz> oh wow really?
19:07:38 <dolio> For instance, equal functions can be represented by distinct integers, so if you just try to extract the bits of a particular function, it will fail to actually be a well defined function.
19:07:46 × red-snail1 quits (~snail@static.151.210.203.116.clients.your-server.de) (Server closed connection)
19:08:05 <pyrex> i agree that regarding integer as finite is kind of cheaty
19:09:04 <dolio> So, e.g. in the effective topos, Church's principle holds "for all functions, there is a number referring to a computation of that function." But that does not extend to a _function_ from functions to numbers.
19:09:34 red-snail1 joins (~snail@static.151.210.203.116.clients.your-server.de)
19:09:55 <ncf> right
19:11:31 <ncf> can someone remind me why cantor's diagonal argument fails in the effective topos
19:11:45 <segfaultfizzbuzz> so... do you move up in cardinality every time you add an Integer...? you are saying that Integer -> Integer -> Integer is higher cradinality than Integer -> Integer, which is higher than Integer...?
19:11:46 <ncf> well, does it?
19:11:56 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
19:11:57 <dolio> It works.
19:11:59 <ncf> oh ok
19:12:19 <dolio> It proves, "2^ℕ is computably uncountable."
19:12:55 <ncf> segfaultfizzbuzz: no, because Integer → Integer → Integer is the same as (Integer, Integer) → Integer, and you can apply the isomorphism to the domain
19:13:01 <dolio> Where 2^ℕ is the type of computable functions from ℕ to 2.
19:13:06 <ncf> on the other hand, (Integer → Integer) → Integer is larger than Integer → Integer
19:13:30 × fbytez quits (~uid@user/fbytez) (Ping timeout: 240 seconds)
19:13:44 <dolio> Well, that last one is dubious.
19:14:06 <ncf> is it?
19:14:13 <dolio> Yeah.
19:14:23 <chromoblob> why at all care about uncomputable stuff
19:14:29 <ncf> doesn't cantor's theorem apply?
19:14:43 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
19:14:58 <chromoblob> well, i care about true randomness
19:15:01 <chromoblob> but other than that
19:15:09 <EvanR> that the uncountable has an analog within the realm of "everything is computable" is interesting
19:15:10 jlwoodwa joins (~jlwoodwa@172.58.84.226)
19:15:21 <dolio> No, because Cantor's theorem is about maps A -> B^A.
19:15:43 <ncf> A := Integer → Integer, B := Integer
19:16:09 <jade[m]> if you had foo x y | x == y = x; otherwise = 1 and foo' f = product . map f $ [1..] wouldn't that work
19:16:24 <jade[m]> i mean not in haskell because infinite and shit
19:16:53 × glider quits (~glider@user/glider) (Server closed connection)
19:17:10 glider joins (~glider@user/glider)
19:17:20 <ncf> jade[m]: work?
19:17:48 <jade[m]> i mean create a bijection between `Integer` and `Integer -> Integer`
19:17:49 <ncf> which types are you trying to prove isomorphic?
19:17:54 <jade[m]> might just be stupid
19:17:59 <dolio> ncf: Cantor's theorem is, "maps A -> B^A are not surjections." But you're talking about ℤ^ℤ -> ℤ.
19:18:27 <pyrex> i think you cannot create a bijection between Integer and (Integer -> Integer) and the diagonal argument shows it
19:18:52 <pyrex> if you attempt to do so, i can generate a new Integer -> Integer that differs from every element in your map in at least one position
19:18:54 <jade[m]> pyrex: the diagonal argument doesn't apply here
19:19:05 <dolio> If you used your instantiation, it'd be about Z^Z -> Z^(Z^Z).
19:19:06 <ncf> dolio: no, i'm saying that "maps ℤ^ℤ → ℤ^(ℤ^ℤ) are not surjections", in other words ℤ^(ℤ^ℤ) is larger than ℤ^ℤ
19:19:10 __monty__ joins (~toonn@user/toonn)
19:19:10 <jade[m]> or wait
19:19:17 <pyrex> jade[m]: you sure? I may have missed something about the context
19:19:23 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Quit: WeeChat 3.6)
19:19:30 × jlwoodwa quits (~jlwoodwa@172.58.84.226) (Ping timeout: 240 seconds)
19:19:42 <probie> pyrex: like in general, or in Haskell land? There's definitely a bijection between values of type `Integer` and function in Haskell of type `Integer -> Integer`
19:19:50 <jade[m]> isn't `(Integer -> Integer)` isomorphic to `(Integer, Integer)`?
19:19:55 <ncf> jade[m]: how do you take the product of an infinite list of integers?
19:19:57 <pyrex> my function looks like this: `f position = (yourMap !! position) + 1`
19:20:00 <ncf> jade[m]: no
19:20:13 <jade[m]> ncf: yeah it doesn't work in haskell
19:20:19 <ncf> when does it work?
19:20:23 <pyrex> probie: i think i have to be clear on how "in Haskell-land" we are
19:20:40 <pyrex> like, there's numerous reasons we can't represent this on an actual computer
19:20:42 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
19:20:44 <dolio> ncf: Oh, well, in that case, the problem is that, "there is no surjection," cannot reasonably be interpreted as "is smaller than."
19:21:03 <pyrex> i would say that if you examine the function i just wrote and conclude that my function is unwritable in your world, then my argument doesn't apply
19:21:08 <jade[m]> I was using haskell syntax but I meant to show a general pattern
19:21:35 <ncf> dolio: classically, sure it can
19:21:45 <dolio> We're not in a classical setting.
19:21:51 <ncf> okay, fair
19:21:59 <dolio> Also I'm not sure it's even reasonable there. :þ
19:22:01 laxask parts (~laxask@2a01:c22:8d40:6100:b471:50a5:1f09:a15) ()
19:22:05 <pyrex> er, wait, my function is slightly garbled. i meant `f position = (yourMap !! position) position + 1`
19:22:15 <ncf> i still think saying 2^A is larger than A makes sense in constructiveland
19:22:17 cafkafk joins (~cafkafk@fsf/member/cafkafk)
19:22:20 fbytez joins (~uid@2001:bc8:2117:100::)
19:22:37 <ncf> you can define that as "there's no surjection" if you like
19:22:41 <jade[m]> <jade[m]> "if you had foo x y | x == y = x..." <- but like, would this be an isomorphism if we had a notion of taking an infinite peoduct?
19:22:50 <dolio> I think 2^2^ℕ ≅ ℕ in the effective topos.
19:23:01 <ncf> ?????
19:23:08 <ncf> ok i take it all back lol
19:23:09 <dolio> If not there, then there are constructive settings where it works out.
19:23:42 <dolio> Another setting is topological spaces. Because the maps involved are continuous.
19:23:54 <dolio> (Which is also the case for computable maps.)
19:23:55 <ncf> jade[m]: i'm struggling to assign meaning to this question
19:24:18 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Client Quit)
19:24:38 cafkafk joins (~cafkafk@fsf/member/cafkafk)
19:25:10 <jade[m]> yeah i don't really know either
19:25:17 <jade[m]> forget it lmao
19:25:24 <ncf> i guess you're thinking of some sort of "free"/"syntactic" product which keeps all of the integers you give it around? but it seems like in order to make this formal you'd have to define something that looks very much like Integer → Integer
19:25:28 <probie> pyrex: I just meant that `Integer -> Integer` in Haskell doesn't represent `ℤ → ℤ` in maths, because all functions in Haskell must have a finite representation in the language, and the number of possible programs is simply ℕ
19:25:42 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
19:25:50 segfaultfizzbuzz broke #haskell
19:26:09 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Client Quit)
19:26:31 <dolio> probie: All functions in the effective topos have finite presentations (in terms of whatever computation system you start with).
19:26:33 cafkafk joins (~cafkafk@fsf/member/cafkafk)
19:30:59 <dolio> ncf: If you use the actual power set, you don't get into situations like that, BTW.
19:31:19 <kritty> fun times in theory land
19:31:21 <ncf> so Ω^ℤ ?
19:31:35 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
19:31:41 <dolio> There's a slightly more involved proof that the double power set can't up being equivalent to what you started with.
19:32:07 cheater joins (~Username@user/cheater)
19:32:38 <dolio> Yeah.
19:33:46 <ncf> i am still not over the fact that "no surjections from A to T(A)" does not mean "no surjections from A to T(T(A))"
19:33:50 <dolio> I think Ω being closed under things like quantifiers over your original set enters into it importantly.
19:34:34 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b)
19:35:13 <xerox> ncf: what is T in this context?
19:35:25 <ncf> a type operator, in this case 2^
19:35:33 bionade24 joins (~bionade24@2a03:4000:33:45b::1)
19:35:45 <ncf> (a functor, i guess)
19:38:14 <ncf> dolio: wait, are you saying that "no surjections from A to 2^A" is also false in the effective topos, until you replace 2 with Ω?
19:38:17 <ncf> or at least unprovable
19:38:23 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
19:38:35 <tomsmeding> EvanR: there are more things I would be terrible at :p
19:38:38 <dolio> Well, in this specific case, it can also be read, "there is no surjection 2^ℕ -> ℕ." Which isn't necessarily surprising unless the only reason you believe a surjection can fail to exist is some kind of "bigness."
19:38:59 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a031:36aa:a52b:1d5b) (Ping timeout: 240 seconds)
19:39:20 <dolio> ncf: No, that one works with 2, too.
19:39:25 delYsid joins (~user@84-115-138-74.cable.dynamic.surfer.at)
19:39:47 × kritty quits (~crumb@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Leaving)
19:40:01 <ncf> i should sit down and work through the details...
19:40:34 <delYsid> Is there a package for processing JSON Schema other then aeson-schema{s} and json-schema? From skimming the docs, it looks like both are not sufficient for the OpenAI function_call API...
19:40:39 <dolio> I'm not 100% sure the 2^2^ℕ ≅ ℕ thing holds in the effective topos. But there are constructively consistent axioms that do imply it.
19:40:57 <ncf> which axioms are you thinking of?
19:41:32 × fbytez quits (~uid@2001:bc8:2117:100::) (Ping timeout: 240 seconds)
19:41:32 <dolio> The reason is that, in some sense, continuity of maps 2^ℕ -> ℕ is a strong limitation.
19:41:39 <dolio> Er, 2^ℕ -> 2.
19:42:27 <ncf> right
19:43:08 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
19:43:55 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
19:43:57 <dolio> I forget which axiom. I guess probably a function continuity one.
19:47:15 <dolio> https://math.andrej.com/2009/10/12/constructive-gem-double-exponentials/
19:47:31 oac_ joins (~oac@72-50-214-210.fttp.usinternet.com)
19:48:56 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
19:49:26 azimut joins (~azimut@gateway/tor-sasl/azimut)
19:49:40 <dolio> "All functions 2^ℕ -> 2 are uniformly continuous."
19:50:12 <dolio> I imagine it works in the effective topos, because he's using computer programs as an example.
19:50:20 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
19:50:44 <dolio> But for instance, "the Cantor space is compact," isn't valid, I think.
19:51:05 <dolio> So you can't derive it from the two other principles there, if it is true.
19:52:48 <dolio> (But Brouwerian intuitionism would be another example setting, I guess.)
19:55:34 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
19:55:39 thegeekinside joins (~thegeekin@189.217.90.138)
20:00:48 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
20:07:29 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:13:29 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
20:13:39 cheater_ joins (~Username@user/cheater)
20:13:39 cheater_ is now known as cheater
20:20:18 × euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection)
20:20:34 × oac_ quits (~oac@72-50-214-210.fttp.usinternet.com) (Quit: oac_)
20:20:54 oac joins (~oac@72-50-214-210.fttp.usinternet.com)
20:23:11 euandreh joins (~Thunderbi@189.6.18.7)
20:23:40 × trev quits (~trev@user/trev) (Quit: trev)
20:24:46 × Techcable quits (~Techcable@user/Techcable) (Remote host closed the connection)
20:28:08 Techcable joins (~Techcable@user/Techcable)
20:28:08 × chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 240 seconds)
20:28:24 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
20:30:20 × dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
20:31:05 × Techcable quits (~Techcable@user/Techcable) (Remote host closed the connection)
20:34:34 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
20:35:56 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
20:37:30 × dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 240 seconds)
20:37:42 × santiagopim quits (~user@90.167.66.131) (Ping timeout: 255 seconds)
20:39:56 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
20:46:55 × chomwitt quits (~chomwitt@2a02:587:7a0e:cf00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
20:48:40 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
20:48:45 dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
20:53:22 Lycurgus joins (~juan@user/Lycurgus)
20:56:30 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
20:59:11 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:01:53 jero98772 joins (~jero98772@2800:484:1d7f:5d36::2)
21:10:40 son0p joins (~ff@181.136.122.143)
21:13:33 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
21:15:58 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:17:01 × oac quits (~oac@72-50-214-210.fttp.usinternet.com) (Quit: oac)
21:21:27 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
21:24:07 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:25:58 segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
21:26:18 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
21:30:52 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz)
21:35:37 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
21:37:21 × michalz quits (~michalz@185.246.207.217) (Remote host closed the connection)
21:40:32 × wns quits (~user@103.206.114.69) (Read error: No route to host)
21:40:44 wns joins (~user@103.206.114.90)
21:41:36 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
21:49:23 Guest47 joins (~Guest47@u-of-rochester-128-151-150-9.wireless.rochester.edu)
21:49:45 × Guest47 quits (~Guest47@u-of-rochester-128-151-150-9.wireless.rochester.edu) (Client Quit)
21:50:54 × elain4 quits (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:53:33 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
21:56:55 × foul_owl quits (~kerry@45.143.82.39) (Ping timeout: 260 seconds)
21:57:42 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
22:02:30 Errdonald_ joins (~Errdonald@2a01:540:536:a500:7f5d:bc02:46ea:a9e8)
22:04:40 × elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Ping timeout: 255 seconds)
22:05:34 × Errdonald quits (~Errdonald@2a01:540:536:a500:7f5d:bc02:46ea:a9e8) (Ping timeout: 255 seconds)
22:05:39 elkcl joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru)
22:06:42 thegeekinside joins (~thegeekin@189.217.90.138)
22:07:14 Pickchea joins (~private@user/pickchea)
22:07:56 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
22:10:24 × acidjnk quits (~acidjnk@p200300d6e7072f28fc9054c626dc7d9f.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
22:12:24 foul_owl joins (~kerry@71.212.137.212)
22:15:26 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
22:15:49 × B-J quits (~BenziJuni@88-149-64-165.du.xdsl.is) (Ping timeout: 250 seconds)
22:16:15 × Luj quits (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (Quit: The Lounge - https://thelounge.chat)
22:17:26 Benzi-Junior joins (~BenziJuni@88-149-66-136.du.xdsl.is)
22:18:21 Luj joins (~Luj@2a01:e0a:5f9:9681:f71f:fbb2:cbdf:4da0)
22:18:43 × mmhat quits (~mmh@p200300f1c702b0e8ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
22:18:48 × thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
22:19:00 thegeekinside joins (~thegeekin@189.217.90.138)
22:20:24 jargon joins (~jargon@184.101.75.235)
22:20:34 × paddymahoney quits (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
22:24:54 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
22:25:31 B-J joins (~BenziJuni@dsl-149-64-112.hive.is)
22:25:44 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
22:26:36 × Benzi-Junior quits (~BenziJuni@88-149-66-136.du.xdsl.is) (Ping timeout: 255 seconds)
22:29:21 stiell joins (~stiell@gateway/tor-sasl/stiell)
22:34:45 srk_ is now known as srk
22:41:27 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:43:09 × bilegeek quits (~bilegeek@2600:1008:b043:3798:77a9:11b8:240f:486c) (Quit: Leaving)
22:49:06 arrowhead joins (~arrowhead@cpe-74-66-76-151.nyc.res.rr.com)
22:51:08 × dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
22:54:56 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
22:57:20 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
22:57:41 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:59:36 × gurkenglas quits (~user@dynamic-046-114-182-029.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
23:00:18 L29Ah joins (~L29Ah@wikipedia/L29Ah)
23:01:47 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:09:01 acidjnk joins (~acidjnk@p200300d6e7072f9254d3382c8032cf2b.dip0.t-ipconnect.de)
23:11:56 × ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
23:12:41 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:13:31 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
23:14:45 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
23:17:37 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
23:20:57 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:22:13 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
23:26:54 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
23:28:47 ft joins (~ft@p508dbdef.dip0.t-ipconnect.de)
23:33:02 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
23:33:55 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:35:02 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
23:36:44 <ijqq_> I am looking at this tutorial and they have a Token class with various fields, and one of them is value which they have of type Object
23:36:56 <ijqq_> How can I do something like this in Haskell?
23:37:29 <Axman6> I don't understand the question, can you share the tutorial?
23:37:33 <ijqq_> Like is it possible to have something like data Token = SimpleToken {kind :: TokenKind, line :: Int} | LiteralToken a {kind :: TokenKind, line :: Int, value :: a}?
23:37:35 <ijqq_> Sure
23:37:54 AmyMalik is now known as Reinhilde
23:38:01 <ijqq_> https://craftinginterpreters.com/scanning.html#lexemes-and-tokens
23:38:10 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
23:38:19 <chromoblob> ijqq_: at which moment the "a" is determined?
23:38:27 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:38:38 <Axman6> data Token a = SimpleToken TokenKind Int | LiteralToken TokenKind Int a -- that would work
23:38:41 <ncf> move the a from after LiteralToken to after Token and you have valid haskell
23:38:58 <Axman6> constructors don't have type parameters, their types do
23:40:27 sm[i] joins (~smi]@plaintextaccounting/sm)
23:40:29 <ijqq_> Ahh, thank you
23:41:26 <ijqq_> data Token a = SimpleToken {kind :: TokenKind, line :: Int} | LiteralToken {kind :: TokenKind, line :: Int, value :: a} deriving (Show)
23:41:33 <ijqq_> This works too
23:41:40 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
23:41:51 <ijqq_> so what is the a in data Token a?
23:42:02 <ijqq_> value :: a this means that the type is a
23:42:02 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:42:05 <Axman6> it's a type parameter
23:42:19 <Axman6> it's like data Token<A> in other languages
23:42:40 <ncf> same as the x in f x = x + 1
23:42:56 <ijqq_> But you don't have to use it? So simlpetoken is fine
23:43:05 <Axman6> data Either a b = Left a | Right b -- means you can have Left "Hello" :: Either String Int, Right 7 :: Either String Int
23:43:38 <Axman6> no, you can have type parameters that don't appear in some, or even any, of the constructors (the latter usually called phantom types)
23:44:59 jmdaemon joins (~jmdaemon@user/jmdaemon)
23:45:25 <ijqq_> okay cool
23:45:49 <chromoblob> ijqq_: you may run into problems if you attempt to use "a" as dynamic type
23:46:49 <ijqq_> and is this a good way to represent the tokens? as in, for the java version the author can just use object and then have some fields potentially blank (empty strings). so i thought in haskell i should try to make different tokens types?
23:47:20 <chromoblob> whenever "value" is set in a LiteralToken, the "a" in its type is set rigidly and cannot be interchanged with tokens which have different "a"
23:47:24 <ijqq_> actually i think i only need StringLiteral and NumericLiteral here so I perhaps can just add those as separate token types and I don't need to make it dynamic
23:47:33 <ijqq_> that would be better to do right?
23:47:38 <ncf> you could perhaps merge the constructors and have value :: Maybe a
23:48:17 <ijqq_> So a token such as LEFT_PARENT will jsut have value as Nothing, and a string can have value as Just "foo"?
23:48:33 <chromoblob> ijqq_: what is TokenKind?
23:48:39 <ijqq_> PAREN sorry*
23:49:10 <ijqq_> http://sprunge.us/8Con2F here is my file
23:49:23 × sm[i] quits (~smi]@plaintextaccounting/sm) (Ping timeout: 245 seconds)
23:49:24 <ijqq_> i am trying to follow that tutorial but write it in haskell
23:49:37 <ijqq_> as you can see i am struggling a bit
23:50:15 <chromoblob> so, i think you should refactor your types
23:50:36 <chromoblob> note that every token has a line number, and then a kind and other data *depending on kind*
23:50:55 <chromoblob> so you should create a type Token: data Token = Token { line :: Int, content :: TokenContent }
23:51:18 <chromoblob> then data type TokenContent has exactly one constructor for each token kind
23:51:38 <chromoblob> its String constructor should have field of type String
23:51:50 <chromoblob> its Number constructor should have field of type Float
23:52:05 <geekosaur> Double, surely?
23:52:05 <chromoblob> for Identifier, probably field of type String
23:52:15 <chromoblob> and other constructors should have no fields
23:52:43 <Axman6> This is one of the places where understanding the algebraic part of ADT can be useful, you can evaluate several equivalent implementations and decide which makes more sense for how you want to use it
23:54:32 <Axman6> like understanding that Either a a is equivalent to (Bool,a) - which one makes more sense depends on your project
23:55:43 <chromoblob> languages for other languages may not work well for Haskell in some cases
23:55:48 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
23:55:50 <chromoblob> tutorials for other languages *
23:57:42 <ijqq_> sorry chromo, I am a little confused. If I have something like data Token = Token { line :: Int, content :: TokenContent } and the data TokenContent a = StringContent { value :: a } it is asking for another argument to TokenContent
23:57:52 <ijqq_> maybe I have misunderstood ?
23:58:06 <geekosaur> you have misunderstood
23:58:41 <geekosaur> you no longer want or need the a
23:58:42 mauke_ joins (~mauke@user/mauke)
23:59:01 <chromoblob> data TokenContent = LEFT_PAREN | ... | IDENTIFIER String | STRING String | NUMBER Float | AND | ...
23:59:35 <ijqq_> Ohh I see what you are saying
23:59:36 <ijqq_> I get it
23:59:44 <ijqq_> thank you guys, you are very helpful
23:59:51 <chromoblob> you may also want to group the constructors

All times are in UTC on 2023-06-13.