Logs on 2023-03-22 (liberachat/#haskell)
| 00:00:16 | <johnw> | I don't know why ZenIRC is logging me in as both john and jwiegley, so that I end up getting double messages from every chat room |
| 00:01:09 | <c_wraith> | it's decided IRC is better in stereo |
| 00:01:31 | <johnw> | oh, I see the problem, it's in the ZenIRC config |
| 00:01:49 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 00:01:53 | <c_wraith> | that sounds like an actual problem rather than a joke. :( |
| 00:03:47 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 264 seconds) |
| 00:10:51 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 255 seconds) |
| 00:12:32 | × | lxi quits (~quassel@2a02:2f08:4706:3500:ae8e:3958:a6a4:da79) (Ping timeout: 265 seconds) |
| 00:15:47 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 00:19:26 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection) |
| 00:19:40 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 00:21:47 | × | foul_owl quits (~kerry@157.97.134.63) (Ping timeout: 264 seconds) |
| 00:22:40 | × | ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Quit: Leaving) |
| 00:25:03 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 268 seconds) |
| 00:27:59 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:35:26 | → | foul_owl joins (~kerry@71.212.143.88) |
| 00:37:26 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 00:40:00 | × | gurkenglas quits (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 00:44:26 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 265 seconds) |
| 00:45:18 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 00:45:39 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 00:47:40 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 00:47:47 | → | mauke_ joins (~mauke@user/mauke) |
| 00:49:25 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 250 seconds) |
| 00:49:26 | mauke_ | is now known as mauke |
| 00:52:42 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 255 seconds) |
| 00:53:37 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 265 seconds) |
| 00:57:10 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 246 seconds) |
| 00:59:39 | → | dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
| 01:03:46 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 01:04:05 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 01:05:01 | × | ddellacosta quits (~ddellacos@146.70.165.10) (Quit: WeeChat 3.8) |
| 01:05:54 | → | ddellacosta joins (~ddellacos@146.70.165.10) |
| 01:08:31 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds) |
| 01:08:55 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 250 seconds) |
| 01:10:34 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:34 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 01:13:24 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 01:16:08 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection) |
| 01:16:21 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 01:16:41 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:21:47 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 268 seconds) |
| 01:23:34 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 01:26:40 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 01:28:31 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 240 seconds) |
| 01:31:50 | → | pavonia joins (~user@user/siracusa) |
| 01:33:27 | → | razetime joins (~Thunderbi@117.193.3.56) |
| 01:34:33 | × | m1dnight quits (~christoph@78-22-0-121.access.telenet.be) (Ping timeout: 255 seconds) |
| 01:37:01 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 01:37:46 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
| 01:38:23 | → | alskdf joins (~alskdf@dhcp-108-168-11-138.cable.user.start.ca) |
| 01:38:32 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 01:40:34 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 01:43:46 | → | nicm[m] joins (~nicmollel@2001:470:69fc:105::1:feeb) |
| 01:45:50 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 268 seconds) |
| 01:46:47 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 01:50:59 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
| 01:55:02 | <EvanR> | Square, X ⊢ Y means something like in a context where you already know X, you can prove or derive Y |
| 01:55:48 | <Square> | EvanR, ah thanks |
| 01:59:28 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 01:59:35 | × | xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 264 seconds) |
| 02:16:54 | × | alskdf quits (~alskdf@dhcp-108-168-11-138.cable.user.start.ca) (Quit: Leaving) |
| 02:27:38 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 02:27:46 | × | foul_owl quits (~kerry@71.212.143.88) (Ping timeout: 268 seconds) |
| 02:27:56 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 02:33:52 | → | falafel joins (~falafel@2603-8000-d700-115c-8bd0-0e12-b540-c706.res6.spectrum.com) |
| 02:36:52 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 02:38:22 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 02:39:31 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 276 seconds) |
| 02:41:06 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 02:41:19 | → | foul_owl joins (~kerry@157.97.134.62) |
| 02:41:37 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) |
| 02:43:23 | × | falafel quits (~falafel@2603-8000-d700-115c-8bd0-0e12-b540-c706.res6.spectrum.com) (Ping timeout: 250 seconds) |
| 02:43:51 | → | AlexNoo_ joins (~AlexNoo@178.34.162.167) |
| 02:44:02 | → | falafel joins (~falafel@2603-8000-d700-115c-8880-2a3e-c8d8-84e5.res6.spectrum.com) |
| 02:44:46 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:45:47 | × | Alex_test quits (~al_test@178.34.160.55) (Ping timeout: 264 seconds) |
| 02:46:54 | → | nate4 joins (~nate@98.45.169.16) |
| 02:47:27 | × | jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯) |
| 02:47:58 | × | AlexZenon quits (~alzenon@178.34.160.55) (Ping timeout: 276 seconds) |
| 02:47:58 | × | AlexNoo quits (~AlexNoo@178.34.160.55) (Ping timeout: 276 seconds) |
| 02:49:53 | → | Alex_test joins (~al_test@178.34.162.167) |
| 02:51:47 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:52:03 | → | AlexZenon joins (~alzenon@178.34.162.167) |
| 02:56:47 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 02:57:01 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 03:08:36 | → | vicfred joins (~vicfred@user/vicfred) |
| 03:08:39 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 03:10:04 | × | razetime quits (~Thunderbi@117.193.3.56) (Ping timeout: 276 seconds) |
| 03:11:46 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 03:13:40 | × | td_ quits (~td@i5387090D.versanet.de) (Ping timeout: 246 seconds) |
| 03:15:48 | → | td_ joins (~td@i53870930.versanet.de) |
| 03:17:42 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:19:09 | × | vicfred quits (~vicfred@user/vicfred) (Quit: leaving) |
| 03:19:14 | → | razetime joins (~Thunderbi@117.193.3.56) |
| 03:25:51 | × | falafel quits (~falafel@2603-8000-d700-115c-8880-2a3e-c8d8-84e5.res6.spectrum.com) (Ping timeout: 250 seconds) |
| 03:29:08 | × | razetime quits (~Thunderbi@117.193.3.56) (Quit: See You Space Cowboy) |
| 03:29:31 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 240 seconds) |
| 03:30:37 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 03:34:06 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 03:35:36 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 268 seconds) |
| 03:36:18 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 03:37:13 | → | jushur joins (~human@user/jushur) |
| 03:38:31 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 03:41:20 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 265 seconds) |
| 03:42:22 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 03:46:00 | ← | jushur parts (~human@user/jushur) ( ¯\_(ツ)_/¯ ) |
| 03:47:21 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:47:21 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:47:21 | finn_elija | is now known as FinnElija |
| 03:49:01 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 03:51:51 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 250 seconds) |
| 03:52:08 | × | Wojciech_K quits (~Wojciech_@2a01:4f9:6a:18a8::239) (Ping timeout: 252 seconds) |
| 03:58:47 | → | Wojciech_K joins (~Wojciech_@2a01:4f9:6a:18a8::239) |
| 04:00:12 | × | pwntips quits (~user@24-113-98-114.wavecable.com) (Ping timeout: 252 seconds) |
| 04:02:19 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 04:04:28 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 04:05:30 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 265 seconds) |
| 04:05:36 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 04:05:59 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 04:12:11 | × | msavoritias quits (cb716af6b3@irc.cheogram.com) (Ping timeout: 264 seconds) |
| 04:27:18 | → | vglfr joins (~vglfr@88.155.10.218) |
| 04:33:32 | → | zmt00 joins (~zmt00@user/zmt00) |
| 04:37:54 | × | Square quits (~Square4@user/square) (Remote host closed the connection) |
| 04:38:31 | → | Square joins (~Square4@user/square) |
| 04:43:21 | → | sagax joins (~sagax_nb@user/sagax) |
| 04:46:15 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 255 seconds) |
| 04:49:49 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:52:04 | × | jamestmartin quits (~james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 04:52:13 | → | jamestmartin joins (~james@jtmar.me) |
| 04:58:07 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 05:03:15 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection) |
| 05:03:29 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 05:05:01 | × | Square quits (~Square4@user/square) (Ping timeout: 268 seconds) |
| 05:08:01 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 240 seconds) |
| 05:19:23 | × | ddellacosta quits (~ddellacos@146.70.165.10) (Ping timeout: 250 seconds) |
| 05:19:32 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 05:20:03 | → | elkcl_ joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) |
| 05:21:22 | × | elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Ping timeout: 276 seconds) |
| 05:21:22 | elkcl_ | is now known as elkcl |
| 05:24:03 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 05:25:01 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 250 seconds) |
| 05:26:07 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 05:35:12 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 05:36:55 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 05:41:41 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 265 seconds) |
| 05:45:54 | → | nate4 joins (~nate@98.45.169.16) |
| 05:50:01 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 05:52:03 | → | trev joins (~trev@user/trev) |
| 05:53:54 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 05:59:53 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 06:01:54 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:04:25 | × | thegeekinside quits (~thegeekin@189.141.115.134) (Ping timeout: 256 seconds) |
| 06:07:35 | → | thegeekinside joins (~thegeekin@189.141.115.134) |
| 06:11:29 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 06:15:54 | → | chomwitt joins (~chomwitt@2a02:587:7a19:3600:1ac0:4dff:fedb:a3f1) |
| 06:17:38 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:20:27 | × | johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Remote host closed the connection) |
| 06:20:49 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 06:22:39 | × | Maeda quits (~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving) |
| 06:23:35 | → | Maeda joins (~Maeda@91-161-10-149.subs.proxad.net) |
| 06:25:43 | × | thegeekinside quits (~thegeekin@189.141.115.134) (Ping timeout: 276 seconds) |
| 06:29:55 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 06:40:40 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 276 seconds) |
| 06:45:13 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 276 seconds) |
| 06:45:14 | → | nschoe joins (~q@2a01:e0a:8e:a190:f38f:fa7c:10d0:4904) |
| 06:45:31 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 06:47:37 | → | msavoritias joins (cb716af6b3@irc.cheogram.com) |
| 06:50:05 | → | michalz joins (~michalz@185.246.207.201) |
| 06:50:35 | × | nschoe quits (~q@2a01:e0a:8e:a190:f38f:fa7c:10d0:4904) (Ping timeout: 264 seconds) |
| 06:51:01 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 240 seconds) |
| 06:54:32 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 06:55:02 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 06:56:47 | → | Umeaboy joins (~Umeaboy@94-255-145-133.cust.bredband2.com) |
| 06:57:52 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 06:59:45 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 07:03:14 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 07:08:10 | → | ski joins (~ski@remote12.chalmers.se) |
| 07:09:55 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 276 seconds) |
| 07:18:17 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 07:19:10 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 07:19:21 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:20:07 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 07:22:05 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 07:25:07 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 265 seconds) |
| 07:32:32 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 07:34:26 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 07:37:24 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 07:37:44 | → | thyriaen joins (~thyriaen@2a01:aea0:dd4:5328:6245:cbff:fe9f:48b1) |
| 07:40:11 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 07:43:06 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 255 seconds) |
| 07:43:38 | → | jeeger joins (~user@2001:9e8:329b:8700:2d3c:1563:cb1a:6a83) |
| 07:45:09 | → | gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net) |
| 07:45:51 | <Athas> | Has GHC become faster in 9.6? My program takes only 3m9s to compile from scratch (not counding dependencies). I could have sworn it used to take longer. |
| 07:47:16 | → | pwntips joins (~user@24-113-98-114.wavecable.com) |
| 07:47:58 | <sm> | I read something about a 10% compilation speedup on average |
| 07:48:38 | <jeeger> | Greetings! I'm trying to type "A map that has a value for every element of an enum" in Haskell. I know that this involves some heavy typelevel shenanigans, but I'm trying to demonstrate something (map doesn't necessarily need to be a map). I've got a version here that uses incomplete pattern matching, but that's not really on the type level: https://paste.debian.net/hidden/7565d1a1/. |
| 07:54:37 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:57:42 | → | kenran joins (~user@user/kenran) |
| 08:01:31 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 08:04:10 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 08:05:45 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 08:11:25 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
| 08:14:48 | → | nschoe joins (~q@141.101.51.197) |
| 08:16:09 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:418:7c9:e7ab:4823) |
| 08:20:13 | → | zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe) |
| 08:26:20 | <dminuoso> | Athas: Compared to what version? |
| 08:28:44 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) (Remote host closed the connection) |
| 08:28:46 | <Athas> | Probably 9.2. |
| 08:28:59 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 08:29:11 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 08:29:20 | <dminuoso> | Was the source code modified during that pseudo benchmark? |
| 08:29:39 | <dminuoso> | Because I know from experience how even a single line addition can be the difference between 5 minutes and 10 seconds of compilation time. |
| 08:30:01 | <dminuoso> | (well okay thats a slight exaggeration, it was something around 2-3min vs seconds) |
| 08:31:08 | <dminuoso> | In my case it was as stupidly simple as `[foo, bar]` vs `[foo, bar, quux]` (yes, just adding an element to a list) |
| 08:32:24 | <dminuoso> | And the underlying behavior could easily trigger between GHC versions too. |
| 08:32:25 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 08:33:25 | <dminuoso> | Concretely the issue in my case was excessive INLINE annotations in megaparsec leading to a crazy blow up during inlining, where compilation time became slower with each element added, but once a single further element was added, it disabled some inline heuristic bringing it back from minutes to seconds. |
| 08:34:19 | <dminuoso> | So any change to a simplifier pass can interfere with that, so given a particular region of code, it seems conceivable to get stellar compilation time changes with a GHC update for scenarios like that |
| 08:34:34 | <Athas> | Same source code. |
| 08:34:55 | <Athas> | But GHC 9.2 takes about 4m, so the difference is not huge. |
| 08:35:32 | <dminuoso> | Hot disk caches? Less paging? Better CPU cooling leading to less throttling? |
| 08:35:57 | <Athas> | Nope. GHC 9.6 just seems faster. |
| 08:35:57 | <dminuoso> | It would be interesting if you can reproduce it with 9.2 |
| 08:35:59 | <dminuoso> | Okay |
| 08:36:23 | <dminuoso> | But yeah, if you have non-trivial code I can certainly see how compilation time can vary because of how the simplifier passes can interact. |
| 08:36:34 | <dminuoso> | for a specific given program at least. |
| 08:36:54 | <Athas> | It might also be something even more pedestrian, such as GHC now being better at parallel compilation of modules. |
| 08:37:06 | <dminuoso> | GHC can do parallel module compilation at all? |
| 08:37:19 | <dminuoso> | I thought that was impossible |
| 08:37:20 | <Athas> | Yes, of multiple modules. |
| 08:37:32 | <dminuoso> | Ah okay |
| 08:39:08 | → | CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 08:40:59 | → | acidjnk_new joins (~acidjnk@p200300d6e715c47808d935385f232197.dip0.t-ipconnect.de) |
| 08:41:10 | → | vpan joins (~0@212.117.1.172) |
| 08:45:06 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:46:19 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds) |
| 08:49:35 | × | gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 246 seconds) |
| 08:50:38 | → | gensyst joins (gensyst@user/gensyst) |
| 08:52:39 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 08:56:52 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 09:00:07 | × | elvishjerricco quits (~elvishjer@2001:470:69fc:105::6172) (Quit: You have been kicked for being idle) |
| 09:01:02 | AlexNoo_ | is now known as AlexNoo |
| 09:02:38 | → | nunggu joins (~q@user/nunggu) |
| 09:02:46 | → | gdr3941 joins (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) |
| 09:07:31 | × | gdr3941 quits (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) (Ping timeout: 240 seconds) |
| 09:10:28 | → | gdr3941 joins (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) |
| 09:12:42 | <tomsmeding> | it's not super effective, but ghc has a -j flag |
| 09:13:13 | → | lukeart joins (~Lukeart@82-197-198-85.dsl.cambrium.nl) |
| 09:14:17 | <tomsmeding> | jeeger: minBound and maxBound are not available on the type level, they're values |
| 09:14:34 | <tomsmeding> | so you aren't going to get any type-level assurance that somehow all values in between are mapped |
| 09:14:59 | <tomsmeding> | also, what are all Double values? Double implements Enum >:D |
| 09:15:43 | × | gdr3941 quits (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) (Ping timeout: 260 seconds) |
| 09:16:04 | <geekosaur> | but probably shouldn't |
| 09:17:13 | <tomsmeding> | sure |
| 09:22:58 | <tomsmeding> | but it does show why jeeger's request won't work, because the Enum methods are not required by types to be anything sensible |
| 09:25:24 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 09:25:37 | → | gdr3941 joins (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) |
| 09:27:13 | <jeeger> | I'm fine with changing the type bounds around a bit, using custom types for both the "map" and the "enum" would still satisfy me. |
| 09:29:14 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) |
| 09:29:26 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:33:41 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) (Ping timeout: 246 seconds) |
| 09:38:21 | → | gurkenglas joins (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) |
| 09:42:01 | → | mastarija joins (~mastarija@188.252.199.22) |
| 09:47:03 | → | nate4 joins (~nate@98.45.169.16) |
| 09:52:23 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 264 seconds) |
| 09:55:27 | <tomsmeding> | jeeger: in a very real sense, the type you're looking for is (->) :p |
| 09:55:46 | <tomsmeding> | that's a mapping from all values in type a to a value in type b |
| 09:56:07 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 09:57:19 | <dminuoso> | % appy (a, f) = (a, f a) |
| 09:57:19 | <yahb2> | <no output> |
| 09:57:19 | → | elvishjerricco joins (~elvishjer@2001:470:69fc:105::6172) |
| 09:57:21 | <dminuoso> | % :t appy |
| 09:57:22 | <yahb2> | appy :: (t, t -> b) -> (t, b) |
| 09:57:35 | <dminuoso> | Is there something that generalizes over this? |
| 09:57:41 | <dminuoso> | It looks awfully familiar, profunctory. |
| 09:57:51 | × | ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 09:57:54 | <dminuoso> | Or maybe Arrow? |
| 09:58:09 | <tomsmeding> | :t uncurry ($) |
| 09:58:10 | <lambdabot> | (a -> c, a) -> c |
| 09:58:49 | <tomsmeding> | :t snd &&& uncurry ($) |
| 09:58:50 | <lambdabot> | (c -> c', c) -> (c, c') |
| 09:59:26 | × | nunggu quits (~q@user/nunggu) (Ping timeout: 255 seconds) |
| 09:59:27 | <tomsmeding> | :t fst &&& uncurry (flip ($)) |
| 09:59:28 | <lambdabot> | (c, c -> c') -> (c, c') |
| 10:03:14 | → | tjakway joins (~tjakway@cpe-107-184-74-161.socal.res.rr.com) |
| 10:03:27 | → | slice joins (uid26890@user/slice) |
| 10:04:44 | × | lukeart quits (~Lukeart@82-197-198-85.dsl.cambrium.nl) (Quit: Quit) |
| 10:05:42 | <jeeger> | tomsmeding: I think that's how I implemented my first example? I was unhappy with the incomplete pattern *warning*, and I'm looking for a way to define a "total" function. |
| 10:07:01 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds) |
| 10:12:26 | <merijn> | Athas: At least all that optimisation effort within ghc since 9.0 hasn't been wasted, then ;) |
| 10:13:29 | × | tjakway quits (~tjakway@cpe-107-184-74-161.socal.res.rr.com) (Quit: WeeChat 3.5) |
| 10:14:36 | <tomsmeding> | jeeger: that's right |
| 10:15:02 | <tomsmeding> | jeeger: thing is, haskell doesn't have total functions; even if you make a data structure that contains all required values, you can put 'undefined' in there |
| 10:15:18 | <tomsmeding> | missing fields of record initialisation is also just a warning |
| 10:15:27 | <tomsmeding> | Always Turn On -Wall |
| 10:15:49 | <tomsmeding> | then turn _off_ the stuff you don't like, if you really feel strongly about that |
| 10:16:15 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 10:17:32 | <madjestic> | NEW-right: |
| 10:17:42 | <lyxia> | jeeger: maybe you'd like to look at vinyl or any of the other extensible type libraries |
| 10:19:17 | <jeeger> | Yeah, I'm trying to build a didactic example: I think the Typescript typesystem is too powerful, and I hope I can demonstrate that problems that look "easy" to express in Typescript are actually very hard in other languages with "proper" typesystems. |
| 10:20:09 | <geekosaur> | define "too powerful" |
| 10:20:47 | <geekosaur> | madjestic: ?? |
| 10:21:12 | <madjestic> | geekosaur: sorry, wrong window |
| 10:21:32 | <tomsmeding> | jeeger: is this easy in typescript? |
| 10:21:54 | × | phma quits (~phma@2001:5b0:211c:53d8:fa79:3596:87fb:9a7b) (Read error: Connection reset by peer) |
| 10:22:09 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 10:22:10 | <geekosaur> | jaeger, I mean, by Haskell standards Idris's type system might be considered "too powerful", although in fact most people believe the opposite |
| 10:22:18 | → | phma joins (~phma@host-67-44-208-67.hnremote.net) |
| 10:22:35 | <jeeger> | tomsmeding: I'm probably offended by its unsoundness |
| 10:23:05 | <tomsmeding> | I mean, as soon as you have exceptions or infinite loops, you're unsound anyway |
| 10:23:25 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 10:23:36 | <tomsmeding> | Haskell's type system is also unsound because Type :: Type, though I'm not actually sure if type-level Haskell is strong enough to actually exploit that to create a paradox |
| 10:24:02 | <geekosaur> | I think it's not |
| 10:24:10 | <geekosaur> | even with IncoherentInstances and the like |
| 10:24:19 | <tomsmeding> | the standard ways for Agda don't work because you need type-level lambdas |
| 10:24:38 | <tomsmeding> | I believe |
| 10:24:48 | × | lottaquestions_ quits (~nick@2607:fa49:503e:7100:c169:efbb:2dc6:2ed3) (Quit: Konversation terminated!) |
| 10:25:07 | <ski> | @let graph :: Arrow ar => ar a b -> ar a (a,b); graph f = (Control.Category.id &&& f); cograph :: ArrowChoice ar => ar a b -> ar (Either a b) b; cograph f = (f ||| Control.Category.id) |
| 10:25:09 | <lambdabot> | Defined. |
| 10:25:26 | <geekosaur> | and yes, I think this is the main reason System F has type level lambdas but they refuse to expose them in "user level" Haskell |
| 10:25:32 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 10:25:36 | <ski> | @type uncurry (flip graph) |
| 10:25:38 | <lambdabot> | (b1, b1 -> b2) -> (b1, b2) |
| 10:26:01 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds) |
| 10:26:33 | <tomsmeding> | ski: how should I read 'graph' |
| 10:26:59 | <ski> | "the graph of" ? |
| 10:27:14 | <tomsmeding> | oh in that sense |
| 10:27:22 | <tomsmeding> | I was thinking about a graph as in nodes and edges :) |
| 10:28:04 | <ski> | if `m : a >---> b' is a morphism, then `graph f : a >---> a * b' is a subobject of `a * b', the "graph", being "the subobject of all pairs `(x,y)' with `m x = y' |
| 10:28:15 | <tomsmeding> | yeah |
| 10:28:28 | <tomsmeding> | " |
| 10:29:14 | <ski> | likewise, `cograph f' is a quotient object of `a + b', which can be thought of as a table of all possible values in `a' and corresponding values in `b', divides into equivalence classes (all elements in `a' that map to each particular element in `b') |
| 10:34:01 | × | gdr3941 quits (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) (Ping timeout: 240 seconds) |
| 10:36:10 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
| 10:36:12 | × | acidjnk_new quits (~acidjnk@p200300d6e715c47808d935385f232197.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 10:37:23 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 10:41:16 | → | lottaquestions joins (~nick@2607:fa49:503e:7100:4c62:c5e:597d:9a4c) |
| 10:44:25 | × | lottaquestions quits (~nick@2607:fa49:503e:7100:4c62:c5e:597d:9a4c) (Client Quit) |
| 10:45:43 | → | lottaquestions joins (~nick@2607:fa49:503e:7100:a22c:2ef:745f:68be) |
| 10:46:06 | <jeeger> | tomsmeding: Here's a definition in typescript: https://www.typescriptlang.org/play?#code/KYOwrgtgBAKsDOAXAjFA3gKCtqB5AcgKIA0WOMA6rqTrABIBKhhGAvhqJLAogEzplsAMVwBVBjRxCAkgDUSgqAGVpADTYYMiAJ4AHYFACCAG2AAnRAFkAhroA8MAHxQAvANoBtAApmA9vottKABLECgACgBrYG1fADNYAEoAXQAuZUQzUIBzAG4NDABjXxAkKAAPV3ccAkJ0gCJgUPh6yWxKXAaALwB3JtbFGEZmBoATM362KGt4I1MLG3sdfXjuJGRHIA |
| 10:46:20 | → | mokee joins (~mokee@37.228.215.65) |
| 10:46:44 | → | gdr3941 joins (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) |
| 10:46:54 | → | __monty__ joins (~toonn@user/toonn) |
| 10:48:51 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 10:51:08 | → | acidjnk_new joins (~acidjnk@p200300d6e715c4786002adc4cda1b398.dip0.t-ipconnect.de) |
| 10:56:30 | <tomsmeding> | jeeger: I see |
| 10:57:15 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 10:57:18 | <tomsmeding> | that '[Property in ...]: A' construction is something that Haskell might be able to express, but the 'keyof T' is something you get with generics only |
| 10:57:49 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 10:58:15 | <jeeger> | Yeah, I was looking at Generics, and I *kinda* understand how it works, but getting something specific out of that made my head hurt (might also be because I'm still kinda sick☺) |
| 11:01:27 | × | vglfr quits (~vglfr@88.155.10.218) (Ping timeout: 268 seconds) |
| 11:01:34 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 11:11:27 | <tomsmeding> | jeeger: https://play.haskell.org/saved/H0eowpsB |
| 11:11:40 | <tomsmeding> | that EnumValues type family could also just return a Nat |
| 11:12:06 | <tomsmeding> | if you load that file into ghci and do ':k! EnumValues Test1' you'll see that it collected the constructor names as well |
| 11:12:08 | → | ubert1 joins (~Thunderbi@2a02:8109:abc0:6434:e5ec:628b:241e:1908) |
| 11:13:29 | <tomsmeding> | but ghc typelits Nat values are not inductive so then OneForEach would be annoying to define :p |
| 11:13:40 | <tomsmeding> | but it could return a 'type data Nat = Z | S Z' just fine |
| 11:14:59 | <jeeger> | tomsmeding: Wow, awesome. I'll spend some time digesting that, thanks! |
| 11:16:35 | → | xff0x joins (~xff0x@ai098135.d.east.v6connect.net) |
| 11:16:54 | <tomsmeding> | jeeger: the typical way to consume generics is to make a typeclass over those Rep values. But in this case I just needed the info on the type level, so I could make do with a type family |
| 11:16:58 | → | mikoto-chan joins (~mikoto-ch@d1ln1lpjnm8t59ntyyz-4.rev.dnainternet.fi) |
| 11:17:20 | <tomsmeding> | jeeger: if you want to find out what things to match on, an easy way to get an example is to type ':k! Rep Test1' in ghci |
| 11:17:48 | <tomsmeding> | this you can then cross-reference back to the GHC.Generics documentation |
| 11:20:25 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 11:21:33 | <tomsmeding> | jeeger: the Nat version: https://play.haskell.org/saved/gib5e9KK (use ghc 9.6.1) |
| 11:28:49 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 11:29:44 | × | thyriaen quits (~thyriaen@2a01:aea0:dd4:5328:6245:cbff:fe9f:48b1) (Remote host closed the connection) |
| 11:32:31 | × | jeeger quits (~user@2001:9e8:329b:8700:2d3c:1563:cb1a:6a83) (Ping timeout: 256 seconds) |
| 11:47:23 | × | gensyst quits (gensyst@user/gensyst) (Quit: Leaving) |
| 11:51:32 | → | Midjak joins (~Midjak@82.66.147.146) |
| 11:51:59 | × | gdr3941 quits (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) (Ping timeout: 250 seconds) |
| 11:53:34 | × | CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 11:55:18 | → | vglfr joins (~vglfr@88.155.10.218) |
| 11:59:12 | → | mmhat joins (~mmh@p200300f1c715f7c3ee086bfffe095315.dip0.t-ipconnect.de) |
| 12:00:19 | → | gdr3941 joins (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) |
| 12:07:01 | × | gdr3941 quits (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) (Ping timeout: 240 seconds) |
| 12:09:19 | × | Vq quits (~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 265 seconds) |
| 12:10:24 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 12:10:56 | → | Vq joins (~vq@90-227-192-206-no77.tbcn.telia.com) |
| 12:18:04 | → | gdr3941 joins (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) |
| 12:21:12 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 12:26:28 | × | Nosrep quits (~Nosrep@user/nosrep) (Remote host closed the connection) |
| 12:26:35 | × | mikoto-chan quits (~mikoto-ch@d1ln1lpjnm8t59ntyyz-4.rev.dnainternet.fi) (Ping timeout: 264 seconds) |
| 12:34:07 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 12:35:20 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 12:36:46 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 12:37:29 | × | gurkenglas quits (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) (Quit: Lost terminal) |
| 12:38:01 | → | gurkenglas joins (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) |
| 12:40:23 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 12:40:53 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 12:45:00 | → | kenran joins (~user@user/kenran) |
| 12:46:31 | × | AlexZenon quits (~alzenon@178.34.162.167) (Ping timeout: 240 seconds) |
| 12:47:18 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:47:55 | × | Alex_test quits (~al_test@178.34.162.167) (Ping timeout: 276 seconds) |
| 12:48:01 | × | AlexNoo quits (~AlexNoo@178.34.162.167) (Ping timeout: 240 seconds) |
| 12:49:41 | → | zer0bitz joins (~zer0bitz@2001:2003:f443:d600:a84c:7465:34bc:646a) |
| 12:52:56 | <pkal> | Does ghcup allow for downloading the source of base? I'd like to inspect how some of the functions are defined |
| 12:53:33 | ← | gdr3941 parts (~user@2601:483:4800:5740:c8ab:629d:14a4:490e) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
| 12:53:40 | <pkal> | All I can find are the HTML sources, that don't make sense when I'm in Emacs |
| 12:59:35 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 12:59:46 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 13:01:05 | → | jeeger joins (~user@2001:9e8:329b:8700:2d3c:1563:cb1a:6a83) |
| 13:01:37 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 13:04:19 | × | zer0bitz quits (~zer0bitz@2001:2003:f443:d600:a84c:7465:34bc:646a) (Read error: Connection reset by peer) |
| 13:05:14 | <maerwald[m]> | pkal: the source is on hackage |
| 13:05:14 | <maerwald[m]> | `cabal unpack base` |
| 13:05:42 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:06:50 | → | zer0bitz joins (~zer0bitz@2001:2003:f443:d600:70b6:7c91:80bd:8cc8) |
| 13:09:44 | × | phma quits (~phma@host-67-44-208-67.hnremote.net) (Read error: Connection reset by peer) |
| 13:10:36 | → | phma joins (~phma@2001:5b0:211f:b388:18f6:45b8:11f7:3fc4) |
| 13:17:57 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 13:29:45 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 13:36:43 | × | jeeger quits (~user@2001:9e8:329b:8700:2d3c:1563:cb1a:6a83) (Ping timeout: 248 seconds) |
| 13:37:52 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 13:42:24 | → | talismanick joins (~talismani@2601:200:c000:f7a0::5321) |
| 13:43:27 | <talismanick> | Under "init" in ~/.cabal/config, how do I set the default test suite executable to "Spec.hs"? |
| 13:43:45 | <talismanick> | err, main module |
| 13:45:49 | × | mmhat quits (~mmh@p200300f1c715f7c3ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
| 13:45:59 | × | gurkenglas quits (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) (Ping timeout: 265 seconds) |
| 13:48:35 | → | nate4 joins (~nate@98.45.169.16) |
| 13:53:43 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
| 13:57:01 | × | vglfr quits (~vglfr@88.155.10.218) (Ping timeout: 240 seconds) |
| 14:01:31 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 14:04:01 | × | acidjnk_new quits (~acidjnk@p200300d6e715c4786002adc4cda1b398.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 14:06:31 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds) |
| 14:07:42 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:08:10 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 14:09:55 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 14:11:21 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 14:13:13 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 14:18:55 | × | sagax quits (~sagax_nb@user/sagax) (Ping timeout: 276 seconds) |
| 14:21:15 | → | Guest72 joins (~Guest72@ext-1-398.eduroam.chalmers.se) |
| 14:22:06 | → | aztex joins (~aztex@ext-1-370.eduroam.chalmers.se) |
| 14:24:40 | <Guest72> | Hi! I have my own exception type, which I got the Exception instance for by following the instructions in Control.Exception (e.g just writing instance Exception MyException). |
| 14:24:40 | <Guest72> | I am using forkIO to fork parallel threads. Those threads use try to detect if exceptions of my own type was thrown. However. this does not seem to happen. I am raising the exception by (in another thread) calling throwTo tid MyException, where tid is the thread id of the other thread. The exception is never raised. |
| 14:24:41 | <Guest72> | If I reuse on of the existing exception types, e.g the UserInterrupt term from the AsyncException type, it works. Does anyone have any idea why this is the case? I would rather use an exception of my own design than a pre-existing one |
| 14:27:40 | <c_wraith> | just to verify, you're using throwTo and Exception from base's Control.Exception? |
| 14:28:47 | <EvanR> | are you using -threaded runtime |
| 14:29:05 | <Guest72> | yes, and yes |
| 14:30:41 | <c_wraith> | Then nothing should be different except potentially how your code treats them. |
| 14:31:11 | <EvanR> | so you throw an exception at a thread which is trying to catch it or isn't trying to catch it (should crash) |
| 14:31:28 | <Guest72> | It is trying to detect is using `try` |
| 14:31:31 | <EvanR> | which exceptions are caught depends on Exception instances chosen |
| 14:31:51 | <Guest72> | and it does, if I user something like UserInterrupt from AsyncException, but not if I use my own exception type. |
| 14:32:02 | <Guest72> | It does? Is this documented somewhere? |
| 14:32:03 | <EvanR> | sounds like you are catching the wrong type of exception |
| 14:32:14 | <EvanR> | :t try |
| 14:32:15 | <lambdabot> | Exception e => IO a -> IO (Either e a) |
| 14:32:28 | <dminuoso> | And which exceptions get caught depend on which module you use ffor catching |
| 14:32:33 | <EvanR> | depending on e try will catch the exception or it will crash |
| 14:32:34 | <c_wraith> | Guest72: it's documented in the type system. try only catches one type of exception |
| 14:32:46 | → | jeeger joins (~user@2001:9e8:329b:8700:2d3c:1563:cb1a:6a83) |
| 14:32:59 | <dminuoso> | Say, Control.Exception will with all its primitives catch async exceptions, but UnliftIO.Exception or Control.Exception.Safe will not. |
| 14:33:03 | <merijn> | c_wraith: Well...debatable ;) |
| 14:33:06 | <Guest72> | Only one type? It looks to me as if it will catch any exception with an instance for Exception |
| 14:33:13 | <merijn> | Considering you can do subclassing to catch multiple things :p |
| 14:33:16 | <dminuoso> | (the latter ones can only acknowledge but not recover from an async exception) |
| 14:33:25 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 14:33:31 | <EvanR> | Guest72, any exception type e, but only 1 at a time and it's your choice |
| 14:33:41 | <EvanR> | not all exception types at once no, that'd be bad anyway |
| 14:33:44 | <dminuoso> | well to be fair, merijn's point should be emphaszied here. |
| 14:33:52 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds) |
| 14:33:53 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) |
| 14:33:54 | <dminuoso> | the IO exceptions model hierarchies, you can catch entire families of exceptions |
| 14:34:03 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 250 seconds) |
| 14:34:11 | <c_wraith> | Yes, but only one *type* at a time |
| 14:34:12 | <merijn> | Nobody ever read the paper on exceptions to actually use that |
| 14:34:16 | <merijn> | But you can :p |
| 14:34:22 | <EvanR> | even if you model hierarchies it still only catches 1 *type* at a time |
| 14:34:29 | <dminuoso> | "type" fsvo of "type" |
| 14:34:36 | <EvanR> | the hierarchy isn't expressed in the type system itself |
| 14:34:38 | <c_wraith> | type for the value the type system uses. :P |
| 14:34:49 | <Guest72> | What would be the correct way to do what I want? |
| 14:34:53 | <dminuoso> | Well if by "one type" you mean one "tree of exceptions" *shrugs* |
| 14:34:59 | <Guest72> | I want to create my own exception type and be able to detect it with try |
| 14:35:00 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 14:35:06 | <c_wraith> | dminuoso: the type system doesn't know it's a tree |
| 14:35:15 | <EvanR> | Guest72, put type signature to make sure MyExceptionType is what you're working with |
| 14:35:17 | <dminuoso> | c_wraith: it doesnt have to? |
| 14:35:28 | <dminuoso> | c_wraith: `catch` will still catch anything that is subclassed under it. |
| 14:35:46 | <Guest72> | I thought pattern matching would tell Haskell to infer the correct type EvanR |
| 14:35:48 | <mauke> | Guest72: show your code first |
| 14:36:02 | <dminuoso> | Guest72: it would indeed. |
| 14:36:07 | <mauke> | I need to run it to understand the issue |
| 14:36:10 | <Guest72> | try io >>= \case ... -- here I pattern match on my specific term |
| 14:36:12 | → | zmt00 joins (~zmt00@user/zmt00) |
| 14:36:31 | <EvanR> | Guest72, that sounds like dynamic typing, which is not how case analysis works. Of course, the exception system does use a form of dynamic typing but that doesn't help here |
| 14:36:39 | <Guest72> | well, I match on `Right a` and `Left MyException` |
| 14:37:04 | <dminuoso> | Guest72: Ah that's not really what we mean by exceptions though. |
| 14:37:08 | <EvanR> | case determines values not types. (Unless you use GADTs. And that's irrelevant here. And still doesn't determine types at runtime) |
| 14:37:09 | <dminuoso> | The term is terribly overloaded. |
| 14:37:21 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 14:37:28 | <dminuoso> | We were previously talking about IO exceptions that your raise via throwIO and catch via Control.Exception |
| 14:37:33 | <dminuoso> | (or some similar module) |
| 14:37:35 | <Guest72> | This case will determine that the type is `Left whatever MyException` |
| 14:37:36 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 14:37:45 | <Guest72> | No, I said this |
| 14:37:51 | <EvanR> | the type is still Either MyException a which is the important part |
| 14:37:52 | <dminuoso> | Guest72: share your code. |
| 14:38:01 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) (Ping timeout: 240 seconds) |
| 14:38:02 | <Guest72> | I am trying to create my own exception etc, which does not work, but if I swap my exception out for one of the built in ones, it works |
| 14:38:05 | <Guest72> | At runtime |
| 14:38:09 | <EvanR> | yeah, show code |
| 14:38:21 | <c_wraith> | it's almost certain something in your code is causing the wrong type to be inferred |
| 14:38:22 | <aztex> | yeah its very hard to debug without seeing the code man |
| 14:38:25 | <Guest72> | How do I share code easiest here? Just paste it in? |
| 14:38:37 | <mauke> | https://paste.tomsmeding.com |
| 14:39:28 | <Guest72> | Give me a minute |
| 14:39:29 | <dminuoso> | I found being sneaky and relying on type inference to guide resolution might look cool first, but its really headache inducing and brittle |
| 14:40:04 | <EvanR> | Exceptions don't do defaulting right so at least there's that |
| 14:40:17 | <EvanR> | you have to pick an exception |
| 14:41:35 | <c_wraith> | Correct. There's no defaulting, even with -XExtendedDefaultRules |
| 14:41:38 | <dminuoso> | Even then, the thing is relying on type inference means if you swap some surrounding code it can cause inference to do something different |
| 14:41:52 | <dminuoso> | and if that somethign different ends up type checking but doing the wrong thing, you tend to have a bad day |
| 14:42:22 | <c_wraith> | Yeah, you should almost always have explicit type annotations on exception-handling stuff somewhere. |
| 14:42:36 | <Guest72> | https://paste.tomsmeding.com/FcP6oRrP |
| 14:42:39 | <Guest72> | I hope this is enough |
| 14:42:50 | <dminuoso> | c_wraith: My main annoyance is just that for exceptions it often required ScopedTypeVariables |
| 14:43:02 | <dminuoso> | So that creates some friction when I have to add a language extension at the top of the file first for that. |
| 14:43:44 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 14:43:51 | <EvanR> | wait wait go back to what "doesn't work" means |
| 14:43:51 | <c_wraith> | Guest72: err.. that code will explicitly just ignore your exception, while any other exception type will terminate it |
| 14:43:56 | <mauke> | Guest72: Not in scope: type constructor or class ‘Exception’ |
| 14:44:03 | <EvanR> | your code tries to go into an infinite loop, is that what it's doing? xD |
| 14:44:27 | × | YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 248 seconds) |
| 14:44:39 | <EvanR> | more specific about the intended result and the experimental result |
| 14:45:00 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 14:45:08 | <Guest72> | c_wraith it is not terminated by another exception, as mentioned in the comment. If I use e.g AsyncException it works as intended |
| 14:45:11 | <Guest72> | EvanR yes |
| 14:45:19 | <EvanR> | then it's not not working |
| 14:45:36 | <EvanR> | you told it to catch the exception and go back into the try |
| 14:45:40 | <c_wraith> | Yeah, I'm getting lost on what "as intended" means. |
| 14:45:51 | <Guest72> | by as intended I mean |
| 14:45:57 | → | acidjnk_new joins (~acidjnk@p200300d6e715c478d15f8d4e2e4105b1.dip0.t-ipconnect.de) |
| 14:46:03 | <c_wraith> | because catching your specific exception type, ignoring it, and restarting... that's not what I'd expect |
| 14:46:08 | <Guest72> | if I throw the exception, it should terminate whatever try is doing and then recurse into defHandler again, entering try anew |
| 14:46:19 | <Guest72> | if I use my OWN exception, the exception is not detected in try |
| 14:46:30 | <c_wraith> | What does "not detected" mean? |
| 14:46:36 | <EvanR> | what is "as intended" ? |
| 14:46:37 | <Guest72> | that nothing happens? |
| 14:46:45 | <mauke> | I repeat: <mauke> I need to run it to understand the issue |
| 14:46:48 | <dminuoso> | Guest72: please share your code. |
| 14:46:59 | <dminuoso> | Guest72: Your description of both your code and the problem is too vague. |
| 14:47:08 | <c_wraith> | like, you're not even logging that you're in the exception handler. you have no visibility into what's going on |
| 14:47:11 | <EvanR> | nothing happens = exception is caught and it loops back into the try |
| 14:47:15 | <dminuoso> | Ohh nevermind pardon me |
| 14:47:19 | <Guest72> | c_wraith that is not important for me |
| 14:47:20 | <dminuoso> | I didnt see it in the text above |
| 14:47:32 | <c_wraith> | Guest72: I bet it is |
| 14:47:37 | <EvanR> | it seems like "not working" = "working" here |
| 14:47:41 | <dminuoso> | Guest72: Which `try` do you use? |
| 14:47:45 | <dminuoso> | Guest72: where is it imported from? |
| 14:47:47 | → | ddellacosta joins (~ddellacos@146.70.168.100) |
| 14:47:50 | <Guest72> | Control.Exception.try dminuoso |
| 14:48:31 | <dminuoso> | Guest72: And its not Control.Exception.Safe or UnliftIO.Exception? Are you sure about that? |
| 14:48:32 | <EvanR> | if by detect you mean catch the exception, and you realize it, you should print something |
| 14:48:47 | × | MonsoonSecrecy quits (f78c86e960@2604:bf00:561:2000::f99) (Remote host closed the connection) |
| 14:48:48 | × | ggb quits (a62ffbaf4f@2604:bf00:561:2000::3ac) (Remote host closed the connection) |
| 14:48:48 | × | ymherklotz quits (cb2c9cfbdd@2604:bf00:561:2000::29a) (Remote host closed the connection) |
| 14:48:48 | × | probie quits (cc0b34050a@user/probie) (Remote host closed the connection) |
| 14:48:48 | × | fvr quits (ef3e56ca8b@2604:bf00:561:2000::3c4) (Write error: Connection reset by peer) |
| 14:48:48 | × | b0o quits (0e4a0bf4c9@2604:bf00:561:2000::1bf) (Remote host closed the connection) |
| 14:48:48 | × | n1essa quits (3d621153a5@2604:bf00:561:2000::df7) (Remote host closed the connection) |
| 14:48:48 | × | shreyasminocha quits (51fdc93eda@user/shreyasminocha) (Remote host closed the connection) |
| 14:48:48 | × | whereiseveryone quits (206ba86c98@2604:bf00:561:2000::2e4) (Remote host closed the connection) |
| 14:48:48 | × | arcadewise quits (52968ed80d@2604:bf00:561:2000::3df) (Remote host closed the connection) |
| 14:48:48 | × | cpli quits (77fc530071@2604:bf00:561:2000::252) (Remote host closed the connection) |
| 14:48:48 | × | jleightcap quits (7bc4014b62@user/jleightcap) (Remote host closed the connection) |
| 14:48:48 | × | evanrelf quits (3addc196af@2604:bf00:561:2000::f0) (Remote host closed the connection) |
| 14:48:48 | × | sus quits (1b7af6299f@user/zeromomentum) (Remote host closed the connection) |
| 14:48:48 | × | jkoshy quits (99b9359beb@user/jkoshy) (Remote host closed the connection) |
| 14:48:48 | × | chaitlatte0 quits (ea29c0bb16@user/chaitlatte0) (Remote host closed the connection) |
| 14:48:48 | × | jakzale quits (6291399afa@user/jakzale) (Remote host closed the connection) |
| 14:48:48 | × | samhh quits (7569f027cf@2604:bf00:561:2000::e4) (Remote host closed the connection) |
| 14:48:48 | × | bsima1 quits (9d7e39c8ad@2604:bf00:561:2000::dd) (Remote host closed the connection) |
| 14:48:48 | × | sm2n quits (ae95cb1267@user/sm2n) (Remote host closed the connection) |
| 14:48:48 | × | filwisher quits (2e6936c793@2604:bf00:561:2000::170) (Remote host closed the connection) |
| 14:48:48 | × | JoelMcCracken quits (5ea8252fbb@2604:bf00:561:2000::10e3) (Remote host closed the connection) |
| 14:48:48 | × | Ankhers quits (e99e97ef8e@2604:bf00:561:2000::2a2) (Remote host closed the connection) |
| 14:48:48 | × | lukec quits (9dfd4d094e@2604:bf00:561:2000::10e) (Write error: Connection reset by peer) |
| 14:48:48 | × | henrytill quits (e0180937c3@2604:bf00:561:2000::e8c) (Write error: Connection reset by peer) |
| 14:48:49 | × | fluffyballoon quits (45ce440a48@2604:bf00:561:2000::e2) (Remote host closed the connection) |
| 14:49:05 | <c_wraith> | Guest72: it seems very likely you're in a situation where the issue is not where you think it is, and you should be verifying your assumptions |
| 14:49:28 | <dminuoso> | Guest72: Reason Im asking is that there's a bunch of libraries that reimplement Control.Exception with slightly altered behavior, where any combinator that can *recover* from an exception explicitly ignores async exceptions (including but not limited to try) |
| 14:49:28 | <mauke> | as with most bugs :-) |
| 14:49:29 | <c_wraith> | Guest72: verifying what branch you end up in is a significant part of that. |
| 14:50:08 | → | ggb joins (a62ffbaf4f@2604:bf00:561:2000::3ac) |
| 14:50:08 | → | filwisher joins (2e6936c793@2604:bf00:561:2000::170) |
| 14:50:08 | → | bsima1 joins (9d7e39c8ad@2604:bf00:561:2000::dd) |
| 14:50:09 | → | lukec joins (9dfd4d094e@2604:bf00:561:2000::10e) |
| 14:50:11 | <Guest72> | c_wraith you are getting hung up on why I want to do this or whatever, instead of trying to help me? In the code I sent you I removed some parts that I feel add no information, such as e.g logging messages. I am logging stuff here, it's just not important when I am describing my problem to you |
| 14:50:14 | <c_wraith> | dminuoso: yeah, that was my first thought, and why I double-checked that it was Control.Exception from base |
| 14:50:26 | → | ymherklotz joins (cb2c9cfbdd@2604:bf00:561:2000::29a) |
| 14:50:35 | → | henrytill joins (e0180937c3@2604:bf00:561:2000::e8c) |
| 14:50:35 | → | samhh joins (7569f027cf@2604:bf00:561:2000::e4) |
| 14:50:35 | → | jkoshy joins (99b9359beb@user/jkoshy) |
| 14:50:35 | → | fvr joins (ef3e56ca8b@2604:bf00:561:2000::3c4) |
| 14:50:36 | → | jleightcap joins (7bc4014b62@user/jleightcap) |
| 14:50:37 | <Guest72> | I am simply importing Control.Exception and Control.Concurrent, nothing more |
| 14:50:56 | <dminuoso> | Guest72: okay, can you make a small reproducer? |
| 14:51:12 | <dminuoso> | Something that will compile on our machines |
| 14:51:18 | → | JoelMcCracken joins (5ea8252fbb@2604:bf00:561:2000::10e3) |
| 14:51:19 | → | arcadewise joins (52968ed80d@2604:bf00:561:2000::3df) |
| 14:51:25 | → | fluffyballoon joins (45ce440a48@2604:bf00:561:2000::e2) |
| 14:51:25 | → | MonsoonSecrecy joins (f78c86e960@2604:bf00:561:2000::f99) |
| 14:51:25 | → | probie joins (cc0b34050a@user/probie) |
| 14:51:26 | → | b0o joins (0e4a0bf4c9@2604:bf00:561:2000::1bf) |
| 14:51:28 | → | whereiseveryone joins (206ba86c98@2604:bf00:561:2000::2e4) |
| 14:51:29 | → | Ankhers joins (e99e97ef8e@2604:bf00:561:2000::2a2) |
| 14:51:29 | → | n1essa joins (3d621153a5@2604:bf00:561:2000::df7) |
| 14:51:29 | → | cpli joins (77fc530071@2604:bf00:561:2000::252) |
| 14:51:30 | → | shreyasminocha joins (51fdc93eda@user/shreyasminocha) |
| 14:51:34 | <Guest72> | I never end up in the `Left MyException` branch when I use my own exception type, but if I use e.g the existing `AsyncException` from `Control.Exception.Base`, i do end up there. I am merely trying to understand why |
| 14:51:38 | → | sus joins (1b7af6299f@user/zeromomentum) |
| 14:51:38 | → | sm2n joins (ae95cb1267@user/sm2n) |
| 14:51:41 | → | evanrelf joins (3addc196af@2604:bf00:561:2000::f0) |
| 14:51:47 | → | chaitlatte0 joins (ea29c0bb16@user/chaitlatte0) |
| 14:51:54 | → | jakzale joins (6291399afa@user/jakzale) |
| 14:51:57 | <mauke> | Guest72: why are you paraphrasing what you think your code is doing instead of showing us runnable code? this is wasted effort |
| 14:52:16 | <Guest72> | I have removed print statements? |
| 14:52:16 | <c_wraith> | It's also worth being aware that throwTo just won't kill a thread in some states. If it's not in an (unmasked) blocking operation or doing allocation, the thread will never see that it has a pending exception |
| 14:52:32 | <Guest72> | c_wraith I am aware of this |
| 14:52:36 | <mauke> | note: you have a bug you don't understand, so "what you think your code is doing" by definition doesn't match reality |
| 14:53:18 | <dminuoso> | Arguably that's the foundation of *all* bugs. |
| 14:53:32 | <dminuoso> | If you have a bug, one or multiple expecations are wrong. |
| 14:54:06 | <dminuoso> | And if you fail to explain your bug, you must re-examine more of your axioms |
| 14:54:09 | <c_wraith> | Guest72: We know that you're trying to understand what's going on, but your description of the problem doesn't match the way things can go wrong. The only conclusion this leaves for us is that your description is missing something important. |
| 14:54:13 | <dminuoso> | One of your axioms is wrong. |
| 14:54:19 | × | Guest72 quits (~Guest72@ext-1-398.eduroam.chalmers.se) (Quit: Client closed) |
| 14:54:50 | <EvanR> | Guest72, just to be clear. I tried your code, completing the missing frame as I surmised, and it does exactly what I thought |
| 14:55:05 | <c_wraith> | well. some people would rather quit than understand, I suppose |
| 14:55:08 | <EvanR> | seems like there's confusion about what it's supposed to do |
| 14:55:14 | <EvanR> | blast |
| 14:56:26 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 14:56:27 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 14:56:27 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:57:43 | × | jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:59:51 | <EvanR> | one weirdness I did run into when trying to reproduce "the problem" was sometimes the exception handler happens before the async exception gets thrown, causing "nothing to happen (for real)" |
| 14:59:55 | <pkal> | maerwald[m]: HLS doesn't appear to notice that I have downloaded base via cabal? |
| 15:00:14 | <EvanR> | er, the exception gets throw before the exception handler is setup |
| 15:02:10 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:02:29 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 15:05:14 | <c_wraith> | pkal: wait, what? you can't in any practical sense download base via cabal |
| 15:05:21 | <chreekat> | pkal: base is locked to ghc - you might be able to download a different one, but you'll always end up using the one that comes with ghc |
| 15:06:04 | <pkal> | I don't mean to compile it, I just want to be able to jump to the source of some definitions |
| 15:06:31 | <dminuoso> | Ohh |
| 15:06:37 | <EvanR> | I've been looking at ghc github for that |
| 15:06:40 | <pkal> | Nevermind, I noticed it just dumped the source into my home directory |
| 15:06:41 | <dminuoso> | You want HLS to jump to a definition into the base package? |
| 15:06:50 | <pkal> | Yes. |
| 15:06:54 | <dminuoso> | That would be cool. |
| 15:07:11 | <pkal> | That doesn't sound like there is some easy solution ^^ |
| 15:07:27 | <dminuoso> | That would be something you probably best discuss in #haskell-language-server |
| 15:07:42 | <dminuoso> | It's worth a feature request at least. |
| 15:08:05 | <pkal> | OK, I didn't know about that channel |
| 15:08:25 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 15:08:31 | <pkal> | So wait, there is no support for LSP support across multiple projects (say a main package and its dependencies)? |
| 15:08:53 | <dminuoso> | pkal: Given the current discussions, it might be a feature that wont have much longetivity |
| 15:09:00 | <Hecate> | hello hello |
| 15:09:12 | <dminuoso> | pkal: well there is if the dependencies are vendored |
| 15:09:46 | <dminuoso> | its just that base is that one package you really cant vendor no mater how hard you try. |
| 15:10:07 | <dminuoso> | but perhaps you can still use your hie.yaml to *trick* HLS into believing you |
| 15:10:07 | <geekosaur> | it's already a feature request |
| 15:10:28 | <chreekat> | yeah I remember somebody else talkign about that recently |
| 15:10:28 | <pkal> | dminuoso: you mean like pointing it to a checkout I made somewhere of base? |
| 15:10:50 | <chreekat> | I once had that working with codex (https://hackage.haskell.org/package/codex) and it was glorious |
| 15:11:08 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 15:11:50 | <dminuoso> | pkal: Yeah. I mean doing this via CTAGs/ETAGs is probably your best bet if you want it relatively robust. |
| 15:11:58 | <dminuoso> | ^- See chreekat's note as well |
| 15:12:05 | <chreekat> | It would be cool if you could point HLS at tags files :) |
| 15:12:28 | <pkal> | dminuoso: what is the best way to generate TAGS files for Haskell? |
| 15:12:44 | <dminuoso> | hasktags is a popular method |
| 15:12:47 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
| 15:12:49 | <pkal> | (This looks like I have to teach Emacs how to merge multiple xref sources) |
| 15:13:11 | <dminuoso> | haskell-mode even invokes hasktags for you automatically |
| 15:13:51 | <pkal> | I might have disabled that because I wanted haskell-mode to use xref and not the custom stuff it provides |
| 15:14:25 | → | gambpang joins (~ishipman@172-6-174-68.lightspeed.cicril.sbcglobal.net) |
| 15:14:53 | <dminuoso> | pkal: I think some of the problems surrounding this become solveable if a base/ghc-base split occurs. |
| 15:15:07 | <dminuoso> | (it's a current ongoing topic) |
| 15:16:10 | <pkal> | oh, interesting. didn't know that was going on |
| 15:17:11 | <geekosaur> | pkal, "package and its dependencies" (vendored) works fine. non-vendored deps would require HLS to download, unpack, anmd index them, then keep track so it knows when to clean up after itself |
| 15:18:02 | <geekosaur> | among other things (it's marked "hard" for a reason) |
| 15:18:15 | <geekosaur> | context: https://github.com/haskell/haskell-language-server/issues/708 |
| 15:20:11 | <pkal> | geekosaur: thacks for the background |
| 15:20:41 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 15:21:18 | → | chele joins (~chele@user/chele) |
| 15:24:02 | × | aztex quits (~aztex@ext-1-370.eduroam.chalmers.se) (Quit: Client closed) |
| 15:28:07 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 15:36:12 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:36:13 | × | jeeger quits (~user@2001:9e8:329b:8700:2d3c:1563:cb1a:6a83) (Remote host closed the connection) |
| 15:38:16 | → | gurkenglas joins (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) |
| 15:38:43 | → | YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:c882:ab84:e989:60c6) |
| 15:39:36 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 15:41:52 | → | elevenkb joins (~elevenkb@105.186.233.148) |
| 15:42:24 | → | nunggu joins (~q@user/nunggu) |
| 15:45:31 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:45:44 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:46:19 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 15:46:34 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 15:47:27 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 15:50:32 | × | evanrelf quits (3addc196af@2604:bf00:561:2000::f0) (Remote host closed the connection) |
| 15:50:32 | × | MonsoonSecrecy quits (f78c86e960@2604:bf00:561:2000::f99) (Remote host closed the connection) |
| 15:50:32 | × | sus quits (1b7af6299f@user/zeromomentum) (Remote host closed the connection) |
| 15:50:32 | × | JoelMcCracken quits (5ea8252fbb@2604:bf00:561:2000::10e3) (Remote host closed the connection) |
| 15:50:32 | × | arcadewise quits (52968ed80d@2604:bf00:561:2000::3df) (Remote host closed the connection) |
| 15:50:33 | × | ggb quits (a62ffbaf4f@2604:bf00:561:2000::3ac) (Remote host closed the connection) |
| 15:50:33 | × | whereiseveryone quits (206ba86c98@2604:bf00:561:2000::2e4) (Write error: Broken pipe) |
| 15:50:33 | × | b0o quits (0e4a0bf4c9@2604:bf00:561:2000::1bf) (Remote host closed the connection) |
| 15:50:33 | × | cpli quits (77fc530071@2604:bf00:561:2000::252) (Remote host closed the connection) |
| 15:50:33 | × | shreyasminocha quits (51fdc93eda@user/shreyasminocha) (Write error: Broken pipe) |
| 15:50:33 | × | jakzale quits (6291399afa@user/jakzale) (Write error: Broken pipe) |
| 15:50:33 | × | chaitlatte0 quits (ea29c0bb16@user/chaitlatte0) (Write error: Broken pipe) |
| 15:50:33 | × | sm2n quits (ae95cb1267@user/sm2n) (Write error: Broken pipe) |
| 15:50:33 | × | Ankhers quits (e99e97ef8e@2604:bf00:561:2000::2a2) (Write error: Broken pipe) |
| 15:50:34 | × | probie quits (cc0b34050a@user/probie) (Write error: Broken pipe) |
| 15:50:34 | × | jkoshy quits (99b9359beb@user/jkoshy) (Remote host closed the connection) |
| 15:50:34 | × | filwisher quits (2e6936c793@2604:bf00:561:2000::170) (Remote host closed the connection) |
| 15:50:34 | × | jleightcap quits (7bc4014b62@user/jleightcap) (Remote host closed the connection) |
| 15:50:34 | × | henrytill quits (e0180937c3@2604:bf00:561:2000::e8c) (Remote host closed the connection) |
| 15:50:34 | × | fvr quits (ef3e56ca8b@2604:bf00:561:2000::3c4) (Remote host closed the connection) |
| 15:50:34 | × | ymherklotz quits (cb2c9cfbdd@2604:bf00:561:2000::29a) (Remote host closed the connection) |
| 15:50:34 | × | n1essa quits (3d621153a5@2604:bf00:561:2000::df7) (Remote host closed the connection) |
| 15:50:34 | × | bsima1 quits (9d7e39c8ad@2604:bf00:561:2000::dd) (Remote host closed the connection) |
| 15:50:34 | × | samhh quits (7569f027cf@2604:bf00:561:2000::e4) (Remote host closed the connection) |
| 15:50:34 | × | lukec quits (9dfd4d094e@2604:bf00:561:2000::10e) (Remote host closed the connection) |
| 15:50:34 | × | fluffyballoon quits (45ce440a48@2604:bf00:561:2000::e2) (Write error: Connection reset by peer) |
| 15:52:10 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:55:08 | → | filwisher joins (2e6936c793@2604:bf00:561:2000::170) |
| 15:55:08 | → | bsima1 joins (9d7e39c8ad@2604:bf00:561:2000::dd) |
| 15:55:09 | → | ggb joins (a62ffbaf4f@2604:bf00:561:2000::3ac) |
| 15:55:23 | → | evanrelf joins (3addc196af@2604:bf00:561:2000::f0) |
| 15:55:33 | → | b0o joins (0e4a0bf4c9@2604:bf00:561:2000::1bf) |
| 15:55:58 | → | fvr joins (ef3e56ca8b@2604:bf00:561:2000::3c4) |
| 15:55:58 | → | probie joins (cc0b34050a@user/probie) |
| 15:56:07 | → | sus joins (1b7af6299f@user/zeromomentum) |
| 15:56:14 | → | Ankhers joins (e99e97ef8e@2604:bf00:561:2000::2a2) |
| 15:56:19 | → | ymherklotz joins (cb2c9cfbdd@2604:bf00:561:2000::29a) |
| 15:56:20 | → | chaitlatte0 joins (ea29c0bb16@user/chaitlatte0) |
| 15:56:25 | → | whereiseveryone joins (206ba86c98@2604:bf00:561:2000::2e4) |
| 15:56:27 | → | jakzale joins (6291399afa@user/jakzale) |
| 15:56:30 | → | cpli joins (77fc530071@2604:bf00:561:2000::252) |
| 15:56:31 | → | MonsoonSecrecy joins (f78c86e960@2604:bf00:561:2000::f99) |
| 15:56:34 | → | JoelMcCracken joins (5ea8252fbb@2604:bf00:561:2000::10e3) |
| 15:56:42 | → | jleightcap joins (7bc4014b62@user/jleightcap) |
| 15:56:48 | → | sm2n joins (ae95cb1267@user/sm2n) |
| 15:56:48 | → | jkoshy joins (99b9359beb@user/jkoshy) |
| 15:56:52 | → | samhh joins (7569f027cf@2604:bf00:561:2000::e4) |
| 15:56:52 | → | fluffyballoon joins (45ce440a48@2604:bf00:561:2000::e2) |
| 15:56:53 | → | henrytill joins (e0180937c3@2604:bf00:561:2000::e8c) |
| 15:56:53 | → | arcadewise joins (52968ed80d@2604:bf00:561:2000::3df) |
| 15:56:54 | → | shreyasminocha joins (51fdc93eda@user/shreyasminocha) |
| 16:01:59 | → | econo joins (uid147250@user/econo) |
| 16:06:10 | → | Square joins (~Square4@user/square) |
| 16:06:22 | × | zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
| 16:07:18 | → | nonames joins (~nonames@95.107.230.70) |
| 16:09:32 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:418:7c9:e7ab:4823) (Ping timeout: 265 seconds) |
| 16:09:47 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 16:12:00 | → | n1essa joins (3d621153a5@2604:bf00:561:2000::df7) |
| 16:12:08 | → | lukec joins (9dfd4d094e@2604:bf00:561:2000::10e) |
| 16:14:35 | <nonames> | if you have a value n = 4 how do you do a list recursively but from 1 to 4 not from 4 to 1 without using the reverse? |
| 16:23:20 | → | rekahsoft joins (~rekahsoft@bras-base-orllon1122w-grc-07-174-95-68-142.dsl.bell.ca) |
| 16:24:56 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 16:26:05 | <[exa]> | nonames: you would typically make a primitive like `listFromTo x y` and basically handle the 2 cases where in `x<=y` you start with `x:` and recurse, and in the other case you return empty list |
| 16:29:06 | <EvanR> | do a list recursively? |
| 16:31:46 | × | nschoe quits (~q@141.101.51.197) (Ping timeout: 265 seconds) |
| 16:32:01 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 16:36:33 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 16:38:32 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 16:40:45 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 16:40:47 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 16:40:47 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 16:40:47 | → | wroathe joins (~wroathe@user/wroathe) |
| 16:40:51 | × | chele quits (~chele@user/chele) (Quit: Leaving) |
| 16:41:44 | → | califax joins (~califax@user/califx) |
| 16:48:48 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds) |
| 16:48:59 | × | elevenkb quits (~elevenkb@105.186.233.148) (Quit: Client closed) |
| 16:49:29 | → | elevenkb joins (~elevenkb@105.186.233.148) |
| 16:54:31 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds) |
| 16:55:54 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 16:56:22 | × | elevenkb quits (~elevenkb@105.186.233.148) (Quit: Client closed) |
| 16:56:34 | × | nonames quits (~nonames@95.107.230.70) (Quit: Client closed) |
| 17:03:29 | → | mikoto-chan joins (~mikoto-ch@87-95-58-79.bb.dnainternet.fi) |
| 17:10:25 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 17:10:47 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
| 17:13:01 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 17:13:27 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 17:20:28 | → | Ashkan joins (~Ashkan@ec2-54-78-14-109.eu-west-1.compute.amazonaws.com) |
| 17:21:19 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 17:21:19 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 17:21:19 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:25:08 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 246 seconds) |
| 17:27:04 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:31:00 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 17:33:11 | × | ubert1 quits (~Thunderbi@2a02:8109:abc0:6434:e5ec:628b:241e:1908) (Remote host closed the connection) |
| 17:38:28 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 17:39:51 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 17:43:15 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 17:43:30 | → | kmein joins (~weechat@user/kmein) |
| 17:44:29 | × | vpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 17:46:29 | × | gambpang quits (~ishipman@172-6-174-68.lightspeed.cicril.sbcglobal.net) (Remote host closed the connection) |
| 17:47:26 | × | nunggu quits (~q@user/nunggu) (Ping timeout: 255 seconds) |
| 17:50:13 | → | cheater_ joins (~Username@user/cheater) |
| 17:50:14 | → | nate4 joins (~nate@98.45.169.16) |
| 17:50:17 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 17:51:30 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 17:51:38 | cheater_ | is now known as cheater |
| 17:52:06 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 17:52:56 | → | monoidal joins (~monoidal@2a01cb0801ce4b00f79814a8dc29a831.ipv6.abo.wanadoo.fr) |
| 17:53:25 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 276 seconds) |
| 17:55:01 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 17:55:13 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Client Quit) |
| 17:55:28 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 17:56:13 | → | thegeekinside joins (~thegeekin@189.141.115.134) |
| 17:56:17 | × | thegeekinside quits (~thegeekin@189.141.115.134) (Remote host closed the connection) |
| 17:57:17 | × | matijja quits (~matijja@193.77.181.201) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:59:09 | → | matijja joins (~matijja@193.77.181.201) |
| 18:00:01 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 18:00:31 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 18:00:33 | × | monoidal quits (~monoidal@2a01cb0801ce4b00f79814a8dc29a831.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
| 18:00:59 | × | matijja quits (~matijja@193.77.181.201) (Client Quit) |
| 18:01:33 | → | matijja joins (~matijja@193.77.181.201) |
| 18:01:40 | → | monoidal joins (~monoidal@2a01cb0801ce4b00f79814a8dc29a831.ipv6.abo.wanadoo.fr) |
| 18:02:12 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 18:03:00 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Client Quit) |
| 18:03:21 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 18:05:01 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Client Quit) |
| 18:05:18 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 18:08:16 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Client Quit) |
| 18:08:58 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 18:14:07 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 18:14:23 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 18:17:30 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Client Quit) |
| 18:17:44 | → | kmein joins (~weechat@user/kmein) |
| 18:18:49 | × | kmein quits (~weechat@user/kmein) (Client Quit) |
| 18:19:01 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 18:19:40 | → | cheater joins (~Username@user/cheater) |
| 18:19:50 | × | monoidal quits (~monoidal@2a01cb0801ce4b00f79814a8dc29a831.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
| 18:20:37 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 18:21:51 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Client Quit) |
| 18:22:12 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 18:23:12 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 18:24:15 | → | monoidal joins (~monoidal@2a01cb0801ce4b005a1affd9d2e2d719.ipv6.abo.wanadoo.fr) |
| 18:24:55 | → | thegeekinside joins (~thegeekin@189.141.115.134) |
| 18:26:23 | × | gurkenglas quits (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 18:26:40 | → | slack1256 joins (~slack1256@181.42.50.18) |
| 18:27:12 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 18:27:27 | → | kmein joins (~weechat@user/kmein) |
| 18:27:51 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:27:51 | <slack1256> | I am searching for a video of a PL conference. The presenter made the case that different PL communities can be classified by what they value aesthetically instead of technical differences. Does that ring a bell for anybody? |
| 18:29:14 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 18:29:33 | × | Ashkan quits (~Ashkan@ec2-54-78-14-109.eu-west-1.compute.amazonaws.com) (Ping timeout: 260 seconds) |
| 18:29:44 | <meejah> | if you find it, please followup that sounds interesting (no bells, here). From that sentence I feel a case might be made for "C++ communities" too ;) |
| 18:30:08 | × | kmein quits (~weechat@user/kmein) (Client Quit) |
| 18:30:09 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 18:30:39 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 18:31:56 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 18:33:44 | × | monoidal quits (~monoidal@2a01cb0801ce4b005a1affd9d2e2d719.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
| 18:36:35 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 18:40:08 | × | mixphix quits (~cigsender@74.124.58.162) (Quit: Lost terminal) |
| 18:42:59 | → | gurkenglas joins (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) |
| 18:46:14 | → | cheater_ joins (~Username@user/cheater) |
| 18:46:21 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 18:46:33 | <chreekat> | it does ring a bell, but faintly, from a very long way through the fog |
| 18:46:35 | → | kmein joins (~weechat@user/kmein) |
| 18:47:16 | <yushyin> | wadler's law not unrelated :P |
| 18:47:18 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 18:48:09 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:49:14 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 18:49:21 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 18:51:01 | × | cheater_ quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 18:51:14 | → | monoidal joins (~monoidal@2a01cb0801ce4b005a1affd9d2e2d719.ipv6.abo.wanadoo.fr) |
| 18:53:28 | → | cheater_ joins (~Username@user/cheater) |
| 18:53:28 | cheater_ | is now known as cheater |
| 18:54:57 | → | cheater_ joins (~Username@user/cheater) |
| 18:55:14 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 18:56:10 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 18:56:15 | <slack1256> | meejah: Yeah, the presenter did classify C++ on the presentation. Zero cost abstractions made more sense as a community value. |
| 18:56:37 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 18:57:16 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 18:57:31 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 18:57:33 | → | cheater__ joins (~Username@user/cheater) |
| 18:57:33 | cheater__ | is now known as cheater |
| 18:58:18 | <dminuoso> | "zero cost" |
| 18:58:27 | <dminuoso> | I love these blanket attributions everytime they get used. |
| 18:59:06 | <int-e> | . o O ( zero-cost abstractions = multi-megabyte executables ) |
| 19:00:01 | × | cheater_ quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 19:00:46 | <int-e> | Haskell is in that boat too, but doesn't use the label, maybe because laziness tends to have a cost that doesn't disappear. |
| 19:07:01 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 19:12:05 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 19:13:01 | × | gurkenglas quits (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 19:14:31 | × | Vq quits (~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 19:14:54 | → | gurkenglas joins (~gurkengla@dynamic-046-114-181-182.46.114.pool.telefonica.de) |
| 19:16:45 | → | Vq joins (~vq@90-227-192-206-no77.tbcn.telia.com) |
| 19:27:11 | → | cheater_ joins (~Username@user/cheater) |
| 19:27:20 | × | cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds) |
| 19:27:30 | cheater_ | is now known as cheater |
| 19:28:57 | → | cheater_ joins (~Username@user/cheater) |
| 19:29:35 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 19:30:36 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 265 seconds) |
| 19:32:01 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 19:32:01 | cheater_ | is now known as cheater |
| 19:32:03 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 19:39:15 | → | nschoe joins (~q@2a01:e0a:8e:a190:9b78:cadd:3723:6130) |
| 19:50:55 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 19:52:06 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 19:52:07 | <tomsmeding> | slack1256: rings a faint bell, could that have been David Christiansen? Or was it longer ago |
| 19:52:25 | <EvanR> | haskell has actual zero cost abstractions, at least in the runtime sense of C++, with newtype |
| 19:52:46 | <EvanR> | there's obviously a pre-runtime cost to using C++ stuff |
| 19:53:02 | → | ft joins (~ft@p3e9bc443.dip0.t-ipconnect.de) |
| 20:02:53 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 20:02:53 | → | ham joins (~ham@user/ham) |
| 20:07:28 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 20:08:30 | <ski> | i guess one could perhaps categorize tail calls under "zero cost" |
| 20:10:20 | <davean> | Is that an abstraction though? |
| 20:10:30 | × | ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 20:10:30 | <davean> | and is it negative cost? |
| 20:10:55 | <davean> | I think it might fail the predicate two ways |
| 20:11:00 | <dminuoso> | EvanR: "zero cost" is always relative to some perspective. |
| 20:11:32 | <jean-paul[m]> | the abstraction there is "recursion" I think |
| 20:11:41 | <dminuoso> | In reality you end up paying *some* way. Runtime, compilation time, diagnostics quality, ergonomics, bug likelihood |
| 20:12:13 | <dminuoso> | Most "zero-cost" attributions seem to intentionally focus on just one thing, so they dont have to tell you what you are paying for instead. |
| 20:12:20 | <EvanR> | as long as you can pay back to cost of technical debt with the ROI? xD |
| 20:12:24 | <EvanR> | the cost |
| 20:13:01 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 20:13:46 | <EvanR> | I guess the ultimate in zero cost is stuff like functions of () which you don't even have to evaluate |
| 20:14:16 | <dminuoso> | It could inhibit sharing |
| 20:14:45 | <EvanR> | yeah so I shouldve said functions *to* () xD |
| 20:15:22 | × | monoidal quits (~monoidal@2a01cb0801ce4b005a1affd9d2e2d719.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
| 20:15:57 | <dminuoso> | seq comes to mind as a function (potentially) to () that certainly has meaning. |
| 20:16:05 | <dminuoso> | but I may be cheating with that a bit. :-) |
| 20:19:06 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 20:19:34 | → | ft joins (~ft@p3e9bc443.dip0.t-ipconnect.de) |
| 20:20:17 | × | Square quits (~Square4@user/square) (Ping timeout: 250 seconds) |
| 20:20:29 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 20:22:03 | <mauke> | https://infosec.exchange/@lcamtuf/110068289362275921 |
| 20:22:08 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 20:22:24 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 20:23:17 | <dminuoso> | mauke: lol what happened there |
| 20:23:36 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 20:25:45 | <EvanR> | a program at runtime remains at runtime until met with an exception |
| 20:25:57 | × | mastarija quits (~mastarija@188.252.199.22) (Quit: WeeChat 3.7.1) |
| 20:25:57 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 20:26:56 | <dminuoso> | mauke: That looks so well written.. it's scary. |
| 20:27:03 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 20:28:05 | <dminuoso> | Do you happen to know what language model this is generated from? |
| 20:28:18 | <EvanR> | submit it to a postmodern philosophy journal and see if it gets accepted |
| 20:28:27 | <Jade[m]1> | seems like the new google ai |
| 20:28:43 | <dminuoso> | If that's the new google ai I better sell my shares. |
| 20:29:09 | <mauke> | yeah, that looks like the Google Bard logo |
| 20:29:43 | <dminuoso> | There's so much gibberish sprinkled with microtruths in there. |
| 20:29:45 | <EvanR> | is it hilarious or sad that metaverse pivoted from VR to AI |
| 20:29:54 | <EvanR> | what's next |
| 20:30:11 | <dminuoso> | AI in a Web3.0 VR game you pay for with cryptocurrency. |
| 20:30:15 | <talismanick> | AI... as an NFT? |
| 20:30:24 | <dminuoso> | That's some real horror. |
| 20:30:24 | <talismanick> | damn, beat me to it |
| 20:31:04 | <talismanick> | I love how crypto failed so dramatically that it's now the stock punchline for how to make tech worse |
| 20:31:05 | <mauke> | VRAIment |
| 20:31:12 | → | cheater joins (~Username@user/cheater) |
| 20:31:18 | <dminuoso> | *cryptocurrency |
| 20:31:34 | <talismanick> | mm, good catch |
| 20:31:38 | <dminuoso> | cryptography is on a failing edge too, but its not as steep. |
| 20:31:41 | <talismanick> | crypographers deserved none of this |
| 20:33:03 | <talismanick> | well, maybe a little for saying PGP was good enough for everyone and leaving us in a state where you have learn everything, cargo cult everything, or just not have privacy |
| 20:33:55 | <dminuoso> | PGP, a world-wide experiment on UX antipatterns. |
| 20:34:35 | <dminuoso> | I dont think there's with as weird and poor UI as PGP |
| 20:34:51 | <dminuoso> | or wait, Im thinking about gpg |
| 20:35:18 | <talismanick> | isn't g(nu)pg a particular implementation? |
| 20:35:21 | <davean> | oh please, PGP/GPG has a perfect UI. It makes it so you're REALLY sure you don't want to talk to anyone who uses it (me included) |
| 20:35:27 | <EvanR> | reverse (cycle "gp") ++ cycle "pg" |
| 20:36:01 | <EvanR> | shoot that's messed up at the center |
| 20:36:07 | <geekosaur> | pgp was a particular implementation too |
| 20:36:07 | <christiansen[m]> | <slack1256> "I am searching for a video of..." <- That sounds a bit like my Haskell Symposium keynote from last year. The idea comes from Kent Pitman's essay "Lambda: the Ultimate Political Party". But it's not aesthetics per se, values in general. I think the idea is fairly widespread these days. |
| 20:36:41 | <dminuoso> | davean: heh |
| 20:36:54 | <talismanick> | jfc we can't even get the name right without knowing the history inside and out |
| 20:37:40 | → | srz joins (~srz@181.228.49.93) |
| 20:37:49 | <talismanick> | alas, it would be legally advisable for me to stop talking before the choice words come out |
| 20:38:08 | <geekosaur> | "mistake" |
| 20:38:36 | <geekosaur> | (says the guy who resuscitated his pgp key to sign commits) |
| 20:38:39 | → | vglfr joins (~vglfr@88.155.48.0) |
| 20:39:21 | <davean> | Hey, I have GPG too, but *you really don't want to talk to me*, and that fact just is sufficient evidence to know it. (I use it for gpg-agent, and smartcard management mostly) |
| 20:39:35 | × | nschoe quits (~q@2a01:e0a:8e:a190:9b78:cadd:3723:6130) (Quit: Switching off) |
| 20:43:31 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:1adc:3c4d:af37:7a07) |
| 20:44:27 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 20:47:07 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 20:48:28 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 20:49:25 | × | mokee quits (~mokee@37.228.215.65) (Quit: off) |
| 20:50:31 | × | slack1256 quits (~slack1256@181.42.50.18) (Ping timeout: 240 seconds) |
| 20:51:42 | × | Umeaboy quits (~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving) |
| 20:54:12 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 20:55:25 | × | thegeekinside quits (~thegeekin@189.141.115.134) (Ping timeout: 276 seconds) |
| 20:55:56 | → | dcoutts_ joins (~duncan@host86-150-41-249.range86-150.btcentralplus.com) |
| 20:57:56 | × | dcoutts quits (~duncan@host86-150-41-249.range86-150.btcentralplus.com) (Ping timeout: 246 seconds) |
| 21:03:53 | × | hnOsmium0001 quits (uid453710@user/hnOsmium0001) (Quit: Connection closed for inactivity) |
| 21:17:26 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 21:18:02 | ham | is now known as hamster |
| 21:20:22 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:1adc:3c4d:af37:7a07) (Quit: WeeChat 2.8) |
| 21:21:57 | → | brandonh joins (~brandonh@93-38-48-54.ip69.fastwebnet.it) |
| 21:22:08 | × | brandonh quits (~brandonh@93-38-48-54.ip69.fastwebnet.it) (Client Quit) |
| 21:25:57 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 21:27:59 | × | srz quits (~srz@181.228.49.93) (Ping timeout: 268 seconds) |
| 21:30:12 | × | dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:31:37 | → | dolio joins (~dolio@130.44.134.54) |
| 21:34:53 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 21:35:36 | × | dolio quits (~dolio@130.44.134.54) (Client Quit) |
| 21:36:30 | → | dolio joins (~dolio@130.44.134.54) |
| 21:42:22 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 21:42:37 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 21:48:06 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 21:48:24 | × | dumptruckman quits (~dumptruck@143-42-239-71.ip.linodeusercontent.com) (Quit: ZNC - https://znc.in) |
| 21:49:04 | → | dumptruckman joins (~dumptruck@143-42-239-71.ip.linodeusercontent.com) |
| 21:51:19 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 21:51:43 | → | nate4 joins (~nate@98.45.169.16) |
| 21:56:45 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 21:57:29 | × | rekahsoft quits (~rekahsoft@bras-base-orllon1122w-grc-07-174-95-68-142.dsl.bell.ca) (Ping timeout: 246 seconds) |
| 21:59:34 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 22:14:49 | → | zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe) |
| 22:18:54 | → | thegeekinside joins (~thegeekin@189.141.115.134) |
| 22:19:48 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:25:33 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 22:29:38 | × | glguy quits (~glguy@libera/staff-emeritus/glguy) (Quit: Quit) |
| 22:30:34 | × | michalz quits (~michalz@185.246.207.201) (Remote host closed the connection) |
| 22:30:49 | → | glguy joins (~glguy@libera/staff-emeritus/glguy) |
| 22:31:32 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:33:12 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 22:35:53 | <talismanick> | Anyone here used polysemy + incipit before? Thoughts? |
| 22:38:37 | × | chomwitt quits (~chomwitt@2a02:587:7a19:3600:1ac0:4dff:fedb:a3f1) (Ping timeout: 265 seconds) |
| 22:39:54 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 22:40:31 | × | vglfr quits (~vglfr@88.155.48.0) (Ping timeout: 240 seconds) |
| 22:40:37 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 22:42:21 | → | mei joins (~mei@user/mei) |
| 22:45:56 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 22:49:05 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 22:50:15 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:51:55 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:57:08 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 22:57:28 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 23:00:12 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 23:00:31 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 23:00:31 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 23:00:31 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:06:37 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 23:07:12 | → | srz joins (~srz@181.228.49.93) |
| 23:07:44 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 23:07:44 | → | hnOsmium0001 joins (uid453710@user/hnOsmium0001) |
| 23:16:42 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:17:17 | × | ubert quits (~Thunderbi@p548c8d0f.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 23:18:34 | → | captnemo joins (~captnemo@193.32.127.232) |
| 23:20:25 | → | ubert joins (~Thunderbi@p548c9c54.dip0.t-ipconnect.de) |
| 23:21:51 | → | merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
| 23:21:54 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 23:22:14 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 23:25:50 | × | dtman34 quits (~dtman34@76.156.89.180) (Ping timeout: 252 seconds) |
| 23:26:03 | → | dtman34_ joins (~dtman34@2601:447:d000:93c9:dca4:919:c8a:849c) |
| 23:37:13 | × | captnemo quits (~captnemo@193.32.127.232) (Quit: WeeChat 3.8) |
| 23:39:33 | × | sgarcia quits (sgarcia@swarm.znchost.com) (Ping timeout: 256 seconds) |
| 23:39:43 | → | sgarcia joins (sgarcia@swarm.znchost.com) |
| 23:43:31 | × | msavoritias quits (cb716af6b3@irc.cheogram.com) (Ping timeout: 240 seconds) |
| 23:47:07 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 23:48:23 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 23:51:31 | → | haskl[error] joins (~haskl@user/haskl) |
| 23:51:33 | × | haskl quits (~haskl@user/haskl) (Read error: Connection reset by peer) |
| 23:54:01 | × | srz quits (~srz@181.228.49.93) (Ping timeout: 240 seconds) |
| 23:54:31 | × | acidjnk_new quits (~acidjnk@p200300d6e715c478d15f8d4e2e4105b1.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 23:54:46 | × | gurkenglas quits (~gurkengla@dynamic-046-114-181-182.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 23:55:28 | × | merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 265 seconds) |
All times are in UTC on 2023-03-22.