2023/03/10

2023-03-10 00:03:03 +0100zeenk(~zeenk@2a02:2f04:a20d:f900::fba) (Quit: Konversation terminated!)
2023-03-10 00:09:52 +0100acidjnk_new(~acidjnk@p200300d6e715c45369d03de84b7702ea.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-03-10 00:10:25 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-03-10 00:12:21 +0100fnurglewitz(uid263868@id-263868.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-03-10 00:13:17 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2023-03-10 00:13:55 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-03-10 00:14:29 +0100caryhartline(~caryhartl@2603-8080-6c00-6c01-2dd0-c76a-1d13-9758.res6.spectrum.com) (Quit: caryhartline)
2023-03-10 00:29:37 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-03-10 00:32:49 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-03-10 00:34:39 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-03-10 00:51:31 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-03-10 00:56:04 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-03-10 00:56:04 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-03-10 00:56:04 +0100wroathe(~wroathe@user/wroathe)
2023-03-10 01:02:29 +0100johnjaye(~pi@173.209.64.74) (Quit: WeeChat 3.0)
2023-03-10 01:04:17 +0100mauke_(~mauke@user/mauke)
2023-03-10 01:06:19 +0100mauke(~mauke@user/mauke) (Ping timeout: 268 seconds)
2023-03-10 01:06:20 +0100mauke_mauke
2023-03-10 01:18:13 +0100ph88(~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
2023-03-10 01:19:18 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-03-10 01:21:03 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-03-10 01:24:46 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
2023-03-10 01:25:49 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-03-10 01:26:20 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-03-10 01:30:02 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit)
2023-03-10 01:30:44 +0100notzmv(~zmv@user/notzmv)
2023-03-10 01:34:16 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2023-03-10 01:36:28 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-03-10 01:38:27 +0100mrcsno(~mrcsno@user/mrcsno)
2023-03-10 02:01:24 +0100mauke_(~mauke@user/mauke)
2023-03-10 02:03:43 +0100mauke(~mauke@user/mauke) (Ping timeout: 276 seconds)
2023-03-10 02:03:43 +0100mauke_mauke
2023-03-10 02:09:27 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 02:14:46 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
2023-03-10 02:15:04 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-03-10 02:16:54 +0100cheater_(~Username@user/cheater)
2023-03-10 02:20:37 +0100cheater(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 02:20:40 +0100cheater_cheater
2023-03-10 02:39:28 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2023-03-10 02:41:29 +0100zaquest(~notzaques@5.130.79.72)
2023-03-10 02:45:35 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-03-10 02:45:53 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2023-03-10 02:48:04 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 268 seconds)
2023-03-10 02:51:14 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:182e:ca34:e210:1559)
2023-03-10 02:51:52 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-03-10 02:55:09 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-03-10 02:55:43 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:182e:ca34:e210:1559) (Ping timeout: 248 seconds)
2023-03-10 03:00:17 +0100phma(~phma@host-67-44-208-201.hnremote.net) (Read error: Connection reset by peer)
2023-03-10 03:00:42 +0100phma(phma@2001:5b0:210f:1e8:e820:69d4:61ee:fd3b)
2023-03-10 03:02:00 +0100xff0x(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 255 seconds)
2023-03-10 03:07:12 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-03-10 03:10:06 +0100 <jean-paul[m]> How do I pronounce the ~ in a constraint like DomEventType e0 'KeypressTag ~ Word?
2023-03-10 03:10:34 +0100 <jackdk> "equal"
2023-03-10 03:10:50 +0100 <jackdk> or "equal to", or "is", I suppose
2023-03-10 03:11:32 +0100 <jean-paul[m]> okay, so I might say "for a dom event type e0 keypress tag equal to word" then
2023-03-10 03:13:00 +0100 <jean-paul[m]> thanks
2023-03-10 03:13:59 +0100 <jackdk> anyway, operator `(~)` is type-level equality
2023-03-10 03:16:26 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 268 seconds)
2023-03-10 03:26:16 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
2023-03-10 03:27:14 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-03-10 03:38:50 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-03-10 03:39:21 +0100AlexZenon(~alzenon@178.34.160.55) (Ping timeout: 255 seconds)
2023-03-10 03:40:29 +0100Alex_test(~al_test@178.34.160.55) (Ping timeout: 268 seconds)
2023-03-10 03:41:09 +0100AlexNoo(~AlexNoo@178.34.160.55) (Ping timeout: 255 seconds)
2023-03-10 03:44:35 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-03-10 03:45:10 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-03-10 03:46:59 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Quit: leaving)
2023-03-10 03:47:13 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-03-10 03:52:19 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 03:53:16 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2023-03-10 03:53:55 +0100gmg(~user@user/gehmehgeh)
2023-03-10 03:56:50 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Ping timeout: 260 seconds)
2023-03-10 03:58:48 +0100jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
2023-03-10 04:03:18 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-03-10 04:03:18 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-03-10 04:03:18 +0100finn_elijaFinnElija
2023-03-10 04:08:09 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 255 seconds)
2023-03-10 04:10:22 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 04:14:36 +0100bilegeek(~bilegeek@2600:1008:b009:69aa:902e:e8da:6fd3:c329)
2023-03-10 04:15:54 +0100gastus(~gastus@5.83.191.20)
2023-03-10 04:18:55 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 276 seconds)
2023-03-10 04:19:34 +0100gastus_(~gastus@185.6.123.209) (Ping timeout: 276 seconds)
2023-03-10 04:22:32 +0100matijja(~matijja@193.77.181.201) (Ping timeout: 252 seconds)
2023-03-10 04:22:55 +0100razetime(~Thunderbi@117.193.3.156)
2023-03-10 04:24:32 +0100Katarushisu1(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
2023-03-10 04:26:24 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 248 seconds)
2023-03-10 04:26:24 +0100Katarushisu1Katarushisu
2023-03-10 04:28:01 +0100td_(~td@i53870909.versanet.de) (Ping timeout: 276 seconds)
2023-03-10 04:29:03 +0100td_(~td@i53870929.versanet.de)
2023-03-10 04:37:55 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-03-10 04:42:46 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 268 seconds)
2023-03-10 04:44:09 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
2023-03-10 04:55:17 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-03-10 04:55:19 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
2023-03-10 04:55:23 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-03-10 05:02:19 +0100cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-03-10 05:02:34 +0100mud(~mud@user/kadoban) (Remote host closed the connection)
2023-03-10 05:05:14 +0100mbuf(~Shakthi@49.207.178.186)
2023-03-10 05:05:31 +0100razetime(~Thunderbi@117.193.3.156) (Ping timeout: 248 seconds)
2023-03-10 05:06:12 +0100waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2023-03-10 05:10:38 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-03-10 05:27:16 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 05:27:47 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-03-10 05:29:12 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-03-10 05:32:11 +0100polyphem_(~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) (Ping timeout: 246 seconds)
2023-03-10 05:32:36 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-03-10 05:33:47 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 248 seconds)
2023-03-10 05:55:30 +0100razetime(~Thunderbi@117.193.3.156)
2023-03-10 06:02:58 +0100matijja(~matijja@193.77.181.201)
2023-03-10 06:03:34 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 276 seconds)
2023-03-10 06:17:47 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-03-10 06:21:20 +0100sympt5(~sympt@user/sympt)
2023-03-10 06:22:42 +0100sympt(~sympt@user/sympt) (Ping timeout: 255 seconds)
2023-03-10 06:22:43 +0100sympt5sympt
2023-03-10 06:28:40 +0100Guest13(~Guest13@250.79-105-213.static.virginmediabusiness.co.uk)
2023-03-10 06:28:55 +0100 <Guest13> hi, im trying to learn the statemonad, but i dont think its what i thought it was
2023-03-10 06:29:09 +0100 <Guest13> https://wiki.haskell.org/State_Monad
2023-03-10 06:29:25 +0100 <Guest13> At its heart, a value of type (State s a) is a function from initial state s to final value a and final state s: (a,s).
2023-03-10 06:29:34 +0100 <Guest13> s -> (a,s)
2023-03-10 06:29:54 +0100 <Guest13> whats; i -> s -> (a,s) ?
2023-03-10 06:29:58 +0100 <Guest13> if its not a state?
2023-03-10 06:31:14 +0100Benzi-Junior(~BenziJuni@dsl-149-66-52.hive.is) (Ping timeout: 252 seconds)
2023-03-10 06:35:09 +0100Benzi-Junior(~BenziJuni@dsl-149-66-52.hive.is)
2023-03-10 06:36:43 +0100trev(~trev@user/trev)
2023-03-10 06:40:21 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 06:44:21 +0100rburkholder(~blurb@96.45.2.121)
2023-03-10 06:50:35 +0100abhixec(~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
2023-03-10 06:54:16 +0100shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 276 seconds)
2023-03-10 06:55:07 +0100Guest13(~Guest13@250.79-105-213.static.virginmediabusiness.co.uk) (Quit: Connection closed)
2023-03-10 07:01:53 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-03-10 07:09:41 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-03-10 07:14:54 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
2023-03-10 07:19:39 +0100Inst__(~Inst@2601:6c4:4081:54f0:7095:1969:fc0c:ba25)
2023-03-10 07:21:18 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-03-10 07:22:16 +0100mrcsno(~mrcsno@user/mrcsno) (Quit: WeeChat 3.5)
2023-03-10 07:23:31 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 276 seconds)
2023-03-10 07:23:55 +0100Inst_(~Inst@2601:6c4:4081:54f0:2ca2:b1c3:7f96:1e03) (Ping timeout: 260 seconds)
2023-03-10 07:25:23 +0100bilegeek(~bilegeek@2600:1008:b009:69aa:902e:e8da:6fd3:c329) (Quit: Leaving)
2023-03-10 07:27:31 +0100mechap(~mechap@user/mechap) (Ping timeout: 260 seconds)
2023-03-10 07:28:26 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-03-10 07:30:45 +0100mechap(~mechap@user/mechap)
2023-03-10 07:33:30 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e) (Quit: Client limit exceeded: 20000)
2023-03-10 07:34:53 +0100freeside(~mengwong@122.11.248.245)
2023-03-10 07:39:45 +0100freeside(~mengwong@122.11.248.245) (Ping timeout: 268 seconds)
2023-03-10 07:40:38 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-03-10 07:41:59 +0100jakalx(~jakalx@base.jakalx.net)
2023-03-10 07:43:00 +0100telser(~quassel@user/telser) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-03-10 07:44:58 +0100sympt(~sympt@user/sympt) (Ping timeout: 276 seconds)
2023-03-10 07:49:04 +0100chomwitt(~chomwitt@2a02:587:7a18:6d00:1ac0:4dff:fedb:a3f1)
2023-03-10 07:49:55 +0100razetime(~Thunderbi@117.193.3.156) (Quit: See You Space Cowboy)
2023-03-10 07:53:25 +0100mechap(~mechap@user/mechap) (Ping timeout: 276 seconds)
2023-03-10 07:54:48 +0100freeside(~mengwong@122.11.248.245)
2023-03-10 07:56:23 +0100mechap(~mechap@user/mechap)
2023-03-10 08:00:06 +0100foul_owl(~kerry@157.97.134.61) (Ping timeout: 268 seconds)
2023-03-10 08:04:38 +0100kenran(~user@user/kenran)
2023-03-10 08:07:30 +0100michalz(~michalz@185.246.207.205)
2023-03-10 08:09:55 +0100___(~o@user/offon) (Quit: ___)
2023-03-10 08:13:56 +0100foul_owl(~kerry@193.29.61.203)
2023-03-10 08:15:27 +0100_\_(~o@user/offon)
2023-03-10 08:17:57 +0100Athas(~athas@sigkill.dk) (Ping timeout: 252 seconds)
2023-03-10 08:18:07 +0100acidjnk_new(~acidjnk@p200300d6e715c453b972168c77d6825c.dip0.t-ipconnect.de)
2023-03-10 08:18:39 +0100dgpratt[m](~dgprattma@2001:470:69fc:105::1:dcdd) (Quit: Client limit exceeded: 20000)
2023-03-10 08:31:40 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-03-10 08:42:15 +0100Athas(athas@sigkill.dk)
2023-03-10 08:42:50 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-03-10 08:43:28 +0100cfricke(~cfricke@user/cfricke)
2023-03-10 08:55:23 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-03-10 08:56:32 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-03-10 09:02:13 +0100Ashkan(~Ashkan@a119011.upc-a.chello.nl)
2023-03-10 09:03:36 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2023-03-10 09:08:48 +0100Ashkan(~Ashkan@a119011.upc-a.chello.nl) (Ping timeout: 260 seconds)
2023-03-10 09:10:54 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 09:15:39 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
2023-03-10 09:18:08 +0100thegeekinside(~thegeekin@189.141.115.134) (Ping timeout: 248 seconds)
2023-03-10 09:19:39 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Remote host closed the connection)
2023-03-10 09:22:03 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-03-10 09:23:48 +0100ft(~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving)
2023-03-10 09:25:45 +0100cheater(~Username@user/cheater)
2023-03-10 09:28:27 +0100 <chreekat> Guest13: can you rephrase the question?
2023-03-10 09:28:54 +0100flo[m](~flosansps@2001:470:69fc:105::1:c22d) (Quit: Client limit exceeded: 20000)
2023-03-10 09:29:48 +0100 <c_wraith> chreekat: they left hours ago...
2023-03-10 09:30:29 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e)
2023-03-10 09:30:45 +0100flo[m](~flosansps@2001:470:69fc:105::1:c22d)
2023-03-10 09:31:00 +0100dgpratt[m](~dgprattma@2001:470:69fc:105::1:dcdd)
2023-03-10 09:32:31 +0100EvanR(~EvanR@user/evanr) (Remote host closed the connection)
2023-03-10 09:33:02 +0100smol-horspony
2023-03-10 09:33:56 +0100tabemann(~travisb@2600:1700:7990:24e0:a037:7b9c:8019:6a70) (Remote host closed the connection)
2023-03-10 09:35:02 +0100EvanR(~EvanR@user/evanr)
2023-03-10 09:36:20 +0100tabemann(~travisb@2600:1700:7990:24e0:aa59:e9d0:5e2:58f5)
2023-03-10 09:38:07 +0100zeenk(~zeenk@2a02:2f04:a20d:f900::7fe)
2023-03-10 09:38:34 +0100chele(~chele@user/chele)
2023-03-10 09:50:14 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-03-10 09:51:59 +0100srk-(~sorki@user/srk)
2023-03-10 09:52:33 +0100srk|(~sorki@user/srk)
2023-03-10 09:54:41 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-03-10 09:55:06 +0100srk(~sorki@user/srk) (Ping timeout: 255 seconds)
2023-03-10 09:55:41 +0100srk|srk
2023-03-10 09:56:01 +0100dsrt^(~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection)
2023-03-10 09:56:41 +0100fnurglewitz(uid263868@id-263868.lymington.irccloud.com)
2023-03-10 09:56:48 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 09:56:55 +0100srk-(~sorki@user/srk) (Ping timeout: 276 seconds)
2023-03-10 10:02:00 +0100srk-(~sorki@user/srk)
2023-03-10 10:04:43 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-03-10 10:06:14 +0100srk(~sorki@user/srk) (Ping timeout: 255 seconds)
2023-03-10 10:06:15 +0100srk-srk
2023-03-10 10:07:54 +0100monoidal(~monoidal@2a01cb0801ce4b00fdbf52a10f8bf9c8.ipv6.abo.wanadoo.fr)
2023-03-10 10:10:42 +0100CiaoSen(~Jura@p200300c9570e91002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-03-10 10:20:08 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 10:24:45 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Ping timeout: 260 seconds)
2023-03-10 10:26:21 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-03-10 10:30:33 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-03-10 10:49:08 +0100AlexNoo(~AlexNoo@178.34.160.55)
2023-03-10 10:50:31 +0100AlexZenon(~alzenon@178.34.160.55)
2023-03-10 10:51:35 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-03-10 10:52:32 +0100Alex_test(~al_test@178.34.160.55)
2023-03-10 10:54:39 +0100cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-03-10 10:56:15 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-03-10 10:58:51 +0100cheater(~Username@user/cheater)
2023-03-10 10:59:43 +0100cheater_(~Username@user/cheater)
2023-03-10 10:59:47 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
2023-03-10 11:03:15 +0100cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2023-03-10 11:03:20 +0100cheater_cheater
2023-03-10 11:03:52 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 276 seconds)
2023-03-10 11:04:13 +0100alex`(~user@45.red-83-36-44.dynamicip.rima-tde.net)
2023-03-10 11:08:17 +0100__monty__(~toonn@user/toonn)
2023-03-10 11:20:05 +0100gurkenglas(~gurkengla@dynamic-046-114-177-189.46.114.pool.telefonica.de)
2023-03-10 11:21:30 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 11:26:08 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
2023-03-10 11:29:44 +0100 <absence> is there a trick to avoid duplication when converting sum types to/from string? https://play.haskell.org/saved/3PkbvbwB
2023-03-10 11:30:20 +0100 <c_wraith> sure. "string for " ++ \case ...
2023-03-10 11:30:43 +0100 <opqdonut> absence: you could also have a Data.Bimap.Bimap Choice String
2023-03-10 11:31:46 +0100 <c_wraith> oh, stringToChoice would need something like stripPrefix
2023-03-10 11:32:01 +0100 <absence> c_wraith: pretend that the "string for" doesn't follow a pattern you can exploit
2023-03-10 11:32:10 +0100 <c_wraith> then there's no duplication
2023-03-10 11:32:19 +0100 <absence> yes, the set of strings is duplicated
2023-03-10 11:32:29 +0100 <mauke> build a table
2023-03-10 11:32:44 +0100 <mauke> :t lookup
2023-03-10 11:32:45 +0100 <lambdabot> Eq a => a -> [(a, b)] -> Maybe b
2023-03-10 11:33:28 +0100 <absence> i guess i would need a table that can look up in both directions, is that what Bimap is, opqdonut ?
2023-03-10 11:33:53 +0100 <mauke> :t map (\(a, b) -> (b, b))
2023-03-10 11:33:54 +0100 <lambdabot> [(a, b)] -> [(b, b)]
2023-03-10 11:34:06 +0100 <mauke> :t map (\(a, b) -> (b, a))
2023-03-10 11:34:07 +0100 <lambdabot> [(b, a)] -> [(a, b)]
2023-03-10 11:34:51 +0100 <absence> one minor problem about that, is that choiceToString would return Maybe/Either, since the compiler can't know if the map contains all the cases
2023-03-10 11:35:11 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-03-10 11:35:20 +0100 <opqdonut> absence: yep
2023-03-10 11:35:45 +0100 <mauke> :t fromJust
2023-03-10 11:35:46 +0100 <lambdabot> Maybe a -> a
2023-03-10 11:35:56 +0100 <absence> so i guess a "proper" solution would require template haskell or something?
2023-03-10 11:36:16 +0100 <opqdonut> you could use template haskell to generate those case expressions given a [(Choice,String)] yeah
2023-03-10 11:36:37 +0100 <opqdonut> but I'd just add a fromJust to the conversion function
2023-03-10 11:36:52 +0100 <opqdonut> unless you really really really want the compiler to check you implemented Choice->String for every constructor
2023-03-10 11:37:21 +0100alex`(~user@45.red-83-36-44.dynamicip.rima-tde.net) (Remote host closed the connection)
2023-03-10 11:37:43 +0100MajorBiscuit(~MajorBisc@145.94.161.20)
2023-03-10 11:38:20 +0100 <absence> i do, because otherwise it's too forget to update the lookup table when adding new constructors to the sum type...
2023-03-10 11:38:40 +0100 <absence> does such a library exist? i tried searching, but may have used the wrong terms
2023-03-10 11:38:54 +0100 <[Leary]> Perhaps justified-containers.
2023-03-10 11:39:33 +0100Lycurgus(~juan@user/Lycurgus)
2023-03-10 11:40:19 +0100 <[Leary]> Though at this point it's probably better to duplicate code.
2023-03-10 11:41:45 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2023-03-10 11:42:08 +0100chomwitt(~chomwitt@2a02:587:7a18:6d00:1ac0:4dff:fedb:a3f1) (Ping timeout: 248 seconds)
2023-03-10 11:42:52 +0100 <mauke> table = case mapM_ (`lookup` protoTable) [minBound .. maxBound] >> pure protoTable of Just x -> x; Nothing -> error "you forgot to update the lookup table" where protoTable = ...
2023-03-10 11:45:25 +0100 <absence> [Leary]: it doesn't seem like i can easily get a Key from a (Choice,String) pair, so i don't think it would work, but it looks like an interesting library
2023-03-10 11:46:30 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-03-10 11:46:43 +0100 <absence> mauke: oof :)
2023-03-10 11:47:00 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-03-10 11:48:27 +0100 <mauke> maybe the whole RHS can be lifted into TH; who knows
2023-03-10 11:51:19 +0100vgtw(~vgtw@user/vgtw)
2023-03-10 11:53:01 +0100CiaoSen(~Jura@p200300c9570e91002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen)
2023-03-10 11:59:54 +0100 <dminuoso> /connect bnc_oftc
2023-03-10 12:07:07 +0100mncheck(~mncheck@193.224.205.254)
2023-03-10 12:09:43 +0100 <[Leary]> @let invert f b = fst $ until ((b ==) . snd) ((id &&& f) . succ . fst) (id &&& f $ minBound)
2023-03-10 12:09:44 +0100 <lambdabot> Defined.
2023-03-10 12:09:49 +0100 <[Leary]> :t invert
2023-03-10 12:09:50 +0100 <lambdabot> (Eq b, Enum t, Bounded t) => (t -> b) -> b -> t
2023-03-10 12:10:05 +0100 <[Leary]> absence: Not really serious, but that's technically an option. :)
2023-03-10 12:10:20 +0100vpan(~0@212.117.1.172)
2023-03-10 12:11:29 +0100 <[Leary]> (since so long as you keep `choiceToString`, GHC will check exhaustivity)
2023-03-10 12:13:44 +0100 <[Leary]> You can get the same effect with "unsafe" lookup in `(id &&& choiceToString) <$> [minBound..maxBound]`.
2023-03-10 12:14:12 +0100monoidal(~monoidal@2a01cb0801ce4b00fdbf52a10f8bf9c8.ipv6.abo.wanadoo.fr) (Quit: Client closed)
2023-03-10 12:15:09 +0100monoidal(~monoidal@2a01cb0801ce4b00fdbf52a10f8bf9c8.ipv6.abo.wanadoo.fr)
2023-03-10 12:21:01 +0100dsrt^(~dsrt@c-24-30-76-89.hsd1.ga.comcast.net)
2023-03-10 12:23:10 +0100freeside(~mengwong@122.11.248.245) (Ping timeout: 276 seconds)
2023-03-10 12:26:10 +0100chomwitt(~chomwitt@2a02:587:7a18:6d00:1ac0:4dff:fedb:a3f1)
2023-03-10 12:27:50 +0100mmhat(~mmh@p200300f1c710303bee086bfffe095315.dip0.t-ipconnect.de)
2023-03-10 12:36:37 +0100ph88(~ph88@91.66.101.83)
2023-03-10 12:37:28 +0100 <dminuoso> What's a minimal way to get the sizeof for a C struct?
2023-03-10 12:38:50 +0100 <c_wraith> the only correct way is to ask the C compiler that was used to compile the C code.
2023-03-10 12:39:35 +0100 <mauke> sizeof (struct X)
2023-03-10 12:39:38 +0100 <dminuoso> c_wraith: Out of curiosity, doesnt that mental model almost entirely make pre-compiled binaries a poor idea?
2023-03-10 12:40:07 +0100 <dminuoso> Since if you want to use an external library, there's no guarantee the header file you shove into your compiler will give the same result
2023-03-10 12:40:34 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 12:40:35 +0100 <mauke> define "no guarantee"
2023-03-10 12:40:54 +0100 <c_wraith> as a matter of fact, I've seen some pretty amazing error messages a friend reported when they changed between gcc and clang without updating all the binary dependencies.
2023-03-10 12:42:52 +0100 <c_wraith> anyway, dealing with that is what hsc2hs is for. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/utils.html#writing-haskell-interfaces-to-c-code…
2023-03-10 12:43:22 +0100 <dminuoso> Mmm
2023-03-10 12:43:36 +0100 <dminuoso> Okay you know what, Ill make a heuristic. I just want to use crypt_r which needs an initializsed buffer for a struct.
2023-03-10 12:43:38 +0100 <c_wraith> its compilation process is to convert the file you provide into a C program that will insert all the values it knows and generate haskell source
2023-03-10 12:44:14 +0100 <dminuoso> The struct looks like its going to be 130ish KiB, so Ill just always allocate a 256KiB buffer, thatll have enough for padding and aligntmnet.,
2023-03-10 12:44:37 +0100 <dminuoso> Putting hsc2hs or c2hs into this for just a singular call seems like overkill
2023-03-10 12:44:45 +0100 <dminuoso> not to mention that I dont want to even think whether this is going to place nice with haskell.nix
2023-03-10 12:44:48 +0100 <c_wraith> or you could use the library I wrote for exactly that purpose like 15 years ago...
2023-03-10 12:44:48 +0100 <tomsmeding> for something that has "crypt" in the name I'd rather not rely on heuristics to avoid buffer overflows
2023-03-10 12:44:59 +0100 <dminuoso> c_wraith: whats that library?
2023-03-10 12:45:08 +0100 <c_wraith> which has even been maintained by my former employee!
2023-03-10 12:45:18 +0100 <c_wraith> err. employer
2023-03-10 12:45:19 +0100 <c_wraith> https://hackage.haskell.org/package/nano-cryptr
2023-03-10 12:45:44 +0100 <dminuoso> Wow okay. I did not expect that
2023-03-10 12:45:46 +0100 <dminuoso> Yes that works for me.
2023-03-10 12:46:04 +0100 <c_wraith> if you dig for the source, you'll find I did in fact use hsc files :)
2023-03-10 12:46:13 +0100 <dminuoso> Haha
2023-03-10 12:46:19 +0100 <dminuoso> `fptr <- mallocForeignPtrBytes (131232)`
2023-03-10 12:46:31 +0100 <dminuoso> That's brave.
2023-03-10 12:46:47 +0100 <dminuoso> Or is that the hsc2hs output
2023-03-10 12:46:49 +0100 <dminuoso> https://hackage.haskell.org/package/nano-cryptr-0.2.1/docs/src/System.Gnu.CryptR.html#cryptR
2023-03-10 12:46:55 +0100 <c_wraith> that's the output, yes.
2023-03-10 12:46:55 +0100 <tomsmeding> dminuoso: https://hackage.haskell.org/package/nano-cryptr-0.2.1/src/System/Gnu/CryptR.hsc
2023-03-10 12:46:56 +0100 <c_wraith> https://github.com/janrain/nano-cryptr/blob/master/System/Gnu/CryptR.hsc#L69
2023-03-10 12:46:59 +0100 <dminuoso> Ahh I see.
2023-03-10 12:47:07 +0100 <dminuoso> Okay yes perfekt
2023-03-10 12:48:06 +0100 <c_wraith> ok, I am amused that the hackage source code link shows the generated code rather than the actual hsc
2023-03-10 12:48:26 +0100 <dminuoso> https://hackage.haskell.org/packages/search?terms=crypt
2023-03-10 12:48:35 +0100 <dminuoso> Why did that not reveal nano-cryptr?
2023-03-10 12:48:51 +0100 <c_wraith> that's... an excellent question
2023-03-10 12:49:39 +0100 <mauke> whole word search
2023-03-10 12:49:43 +0100 <mauke> needs "cryptr"
2023-03-10 12:49:58 +0100 <c_wraith> well yes, that's the behavior. But why?
2023-03-10 12:51:23 +0100 <tomsmeding> it seems to also search in descriptions, so perhaps the solution is just to add a 'crypt' keyword to the description of the package
2023-03-10 12:52:13 +0100 <c_wraith> I guess I could update it, but I haven't actually touched that package in a decade. That's why I added other people as maintainers!
2023-03-10 12:59:07 +0100mechap(~mechap@user/mechap) (Ping timeout: 248 seconds)
2023-03-10 13:00:53 +0100mechap(~mechap@user/mechap)
2023-03-10 13:01:40 +0100xff0x(~xff0x@ai098135.d.east.v6connect.net)
2023-03-10 13:04:48 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
2023-03-10 13:07:45 +0100monoidal(~monoidal@2a01cb0801ce4b00fdbf52a10f8bf9c8.ipv6.abo.wanadoo.fr) (Quit: Client closed)
2023-03-10 13:09:23 +0100 <dminuoso> c_wraith: Gah, its dependencies are too tight *sigh*
2023-03-10 13:09:34 +0100 <dminuoso> bytestring (>=0.9.1 && <0.11)
2023-03-10 13:09:35 +0100 <dminuoso> :S
2023-03-10 13:09:48 +0100 <c_wraith> eh, just allow-newer it. It's fine
2023-03-10 13:11:03 +0100 <dminuoso> Let's see if haskell.nix works with this
2023-03-10 13:11:23 +0100 <dminuoso> But you're right, this is fine
2023-03-10 13:11:30 +0100 <c_wraith> oh, right. that might be awkward. I guess you could vendor it or something
2023-03-10 13:11:55 +0100kraftwerk28_kraftwerk28
2023-03-10 13:11:57 +0100ph88(~ph88@91.66.101.83) (Remote host closed the connection)
2023-03-10 13:12:20 +0100ph88(~ph88@91.66.101.83)
2023-03-10 13:13:21 +0100 <dminuoso> Something tells me it should just work, though.
2023-03-10 13:13:41 +0100 <c_wraith> yeah, that's just a tight bound. It's not using anything specific to that version of bytestring
2023-03-10 13:14:13 +0100 <dminuoso> I mean haskell.nix doesnt have much magic inside, it pretty much extracts the build plan from cabal - so as long as the cabal.project file isnt hidden from it, it should just work.
2023-03-10 13:14:30 +0100 <c_wraith> ah, I see. Nice.
2023-03-10 13:15:01 +0100 <dminuoso> error: The Nixpkgs package set does not contain the package: crypt (system dependency).
2023-03-10 13:15:03 +0100 <dminuoso> Mmm
2023-03-10 13:15:44 +0100 <dminuoso> Ah it would have been nice if the package used pkgconfig-depends: libxcrypt
2023-03-10 13:15:52 +0100 <dminuoso> I guess Ill just vendor it
2023-03-10 13:16:33 +0100akegalj(~akegalj@161-232.dsl.iskon.hr)
2023-03-10 13:20:06 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-03-10 13:25:04 +0100acidjnk_new(~acidjnk@p200300d6e715c453b972168c77d6825c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-03-10 13:37:24 +0100td_(~td@i53870929.versanet.de) (Ping timeout: 255 seconds)
2023-03-10 13:39:15 +0100td_(~td@i53870929.versanet.de)
2023-03-10 13:41:24 +0100acidjnk_new(~acidjnk@p200300d6e715c453151e77c9b880b4dd.dip0.t-ipconnect.de)
2023-03-10 13:44:47 +0100gurkenglas(~gurkengla@dynamic-046-114-177-189.46.114.pool.telefonica.de) (Ping timeout: 248 seconds)
2023-03-10 13:47:25 +0100SpeleoMike(~SpeleoMik@2001:8003:221e:9e00:69bd:b16e:e90d:b42b)
2023-03-10 13:54:56 +0100MajorBiscuit(~MajorBisc@145.94.161.20) (Ping timeout: 248 seconds)
2023-03-10 13:57:49 +0100jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
2023-03-10 13:58:53 +0100MajorBiscuit(~MajorBisc@145.94.161.20)
2023-03-10 14:01:40 +0100gurkenglas(~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
2023-03-10 14:05:21 +0100mastarija(~mastarija@188.252.197.7)
2023-03-10 14:06:17 +0100Fischmiep(~Fischmiep@user/Fischmiep) (Quit: Ping timeout (120 seconds))
2023-03-10 14:07:35 +0100 <mastarija> Is there a way to do two class instances like this:
2023-03-10 14:07:38 +0100 <mastarija> instance X (V [a]) w where ...
2023-03-10 14:07:42 +0100 <mastarija> instance X (V [a]) (V xs) where ...
2023-03-10 14:08:10 +0100 <mastarija> It seems like it's not possible, because it's not possible to tell the difference between the `w` and `V xs`, right?
2023-03-10 14:09:18 +0100 <dminuoso> Sure, you can make one instance overlapping or the other overlappable.
2023-03-10 14:10:19 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 14:10:27 +0100 <mastarija> Aha, so I should make the first one overlappable
2023-03-10 14:10:37 +0100 <mastarija> I completely forgot about that...
2023-03-10 14:11:44 +0100SpeleoMike(~SpeleoMik@2001:8003:221e:9e00:69bd:b16e:e90d:b42b) ()
2023-03-10 14:14:46 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 14:15:55 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Ping timeout: 248 seconds)
2023-03-10 14:17:31 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 14:18:46 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Excess Flood)
2023-03-10 14:21:08 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-03-10 14:21:57 +0100ph88(~ph88@91.66.101.83) (Ping timeout: 255 seconds)
2023-03-10 14:23:07 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 14:23:52 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 14:27:33 +0100gtdg(~gtdg@nat-inria-interne-72-gw-01-lne.lille.inria.fr)
2023-03-10 14:28:18 +0100gtdg(~gtdg@nat-inria-interne-72-gw-01-lne.lille.inria.fr) (Client Quit)
2023-03-10 14:28:33 +0100gtdg(~gtdg@user/gtdg)
2023-03-10 14:28:35 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Ping timeout: 260 seconds)
2023-03-10 14:31:04 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-03-10 14:33:59 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Read error: Connection reset by peer)
2023-03-10 14:37:39 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 14:40:05 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-03-10 14:40:32 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2023-03-10 14:40:58 +0100acidjnk_new(~acidjnk@p200300d6e715c453151e77c9b880b4dd.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-03-10 14:41:02 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Client Quit)
2023-03-10 14:41:42 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-03-10 14:43:59 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 14:48:46 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
2023-03-10 14:51:22 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Read error: Connection reset by peer)
2023-03-10 14:53:59 +0100 <Athas> Oh, the new cabal-install is out?
2023-03-10 14:54:09 +0100 <Athas> Or is it just a release candidate?
2023-03-10 14:56:30 +0100 <geekosaur> official release is tomorrow but various thingshave already been updated for it
2023-03-10 14:57:03 +0100 <geekosaur> iirc it's mostly waiting on ghcup being ready for it
2023-03-10 14:57:17 +0100 <Athas> Great! I have been looking forward to this one.
2023-03-10 14:57:18 +0100 <Las[m]> Does anyone know if `quotRem` etc. optimise into bitshifts with constant divisors?
2023-03-10 15:04:19 +0100sefidel(~sefidel@user/sefidel) (Remote host closed the connection)
2023-03-10 15:06:18 +0100sefidel(~sefidel@user/sefidel)
2023-03-10 15:07:30 +0100polyphem_(~rod@2a02:810d:840:8754:a163:3b79:bf9b:e9ae)
2023-03-10 15:09:12 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 15:09:12 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Excess Flood)
2023-03-10 15:09:32 +0100 <geekosaur> I don't think it does, but you could inspect core to see
2023-03-10 15:09:34 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 15:09:54 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-03-10 15:11:24 +0100 <Las[m]> It does seem to do it with divisors under 2^32. After 2^32 it uses divisions again for some reason.
2023-03-10 15:11:24 +0100 <Las[m]> Testing with powers of two to keep it simple.
2023-03-10 15:15:22 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-03-10 15:15:22 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-03-10 15:15:22 +0100wroathe(~wroathe@user/wroathe)
2023-03-10 15:15:37 +0100 <tomsmeding> Athas: this is the one with the xdg changes, right?
2023-03-10 15:15:58 +0100 <Athas> Yes.
2023-03-10 15:17:36 +0100 <geekosaur> which I've been running locally for several months
2023-03-10 15:18:26 +0100 <geekosaur> had to create a file ~/.cabal because one of the things hls does during figuring out the toolchain runs the wrong cabal
2023-03-10 15:18:49 +0100 <geekosaur> which should be fixed when ghcup has the right cabal as part of the toolchain
2023-03-10 15:19:02 +0100vglfr(~vglfr@209.198.138.7)
2023-03-10 15:20:37 +0100MajorBiscuit(~MajorBisc@145.94.161.20) (Ping timeout: 276 seconds)
2023-03-10 15:20:59 +0100 <Athas> Yes, I've also been running it locally, but many of my remote systems use a ghcup-managed cabal.
2023-03-10 15:21:07 +0100 <Athas> I'm looking forward to being able to use XDG everywhere.
2023-03-10 15:22:15 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-03-10 15:25:10 +0100kuribas(~user@ptr-17d51ep1f61edodz1os.18120a2.ip6.access.telenet.be)
2023-03-10 15:28:23 +0100thegeekinside(~thegeekin@189.141.115.134)
2023-03-10 15:31:11 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-03-10 15:37:51 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 15:37:57 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2023-03-10 15:38:36 +0100Fischmiep96(~Fischmiep@user/Fischmiep)
2023-03-10 15:41:47 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Ping timeout: 248 seconds)
2023-03-10 15:41:48 +0100Fischmiep96Fischmiep9
2023-03-10 15:42:36 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
2023-03-10 15:45:44 +0100 <Philonous> Is there a reliable way to test that a finalizer is run when an object is garbage-collected? As in, I'd like to write a test and be able to say "at this point the finalizer should definitely have run"
2023-03-10 15:46:19 +0100 <Athas> You can have the finalizer write to a known IORef.
2023-03-10 15:46:29 +0100 <Athas> ...but are finalizers guaranteed to *ever* run?
2023-03-10 15:48:46 +0100 <Philonous> But finalizers seem rather tricky. For example, if the finalizer references the object it's attached to does that prevent it from being garbage collected
2023-03-10 15:49:26 +0100 <[exa]> Philonous: the gc is luckily smarter than that
2023-03-10 15:50:52 +0100 <[exa]> any specific use btw? IMO almost all finalizer usecases are better replaced by bracket
2023-03-10 15:50:52 +0100 <geekosaur> and has to bem since the point of it may be to release the reference (consider a ForeignPtr freeing a chunk of memory from C)
2023-03-10 15:51:41 +0100 <Philonous> OK, that's good to know, but I'm still worried I'll inadvertently prevent the finalizer from running, so I'd like to write a test. But I can't think of a reliable way of testing it
2023-03-10 15:52:02 +0100 <tomsmeding> Philonous: what Athas said?
2023-03-10 15:53:02 +0100 <Philonous> Maybe I can use »performMajorGC« to at least ensure the finalizer had a chance to run?
2023-03-10 15:53:09 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2023-03-10 15:53:54 +0100 <[exa]> Philonous: it might give some confidence but I wouldn't rely on the test result for that
2023-03-10 15:55:17 +0100 <Athas> I once spent a bunch of time thinking about finalizers, and reached the conclusion never to use finalizers.
2023-03-10 15:58:19 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-03-10 15:58:44 +0100 <Philonous> Maybe that's the right thing to do
2023-03-10 16:00:13 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-03-10 16:02:17 +0100vglfr(~vglfr@209.198.138.7) (Read error: Connection reset by peer)
2023-03-10 16:03:13 +0100vglfr(~vglfr@209.198.138.7)
2023-03-10 16:03:14 +0100 <[exa]> Philonous: really depends on the usecase. e.g. there's the `mmap` package with default finalizers that un-mmap the vectors; it's nice and stuff but unless you magically tell the GC to free the stuff in time you'll suddenly end up hitting unexpected OS limits...so I went for doing it manually with bracket
2023-03-10 16:03:51 +0100MajorBiscuit(~MajorBisc@145.94.161.20)
2023-03-10 16:05:54 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 255 seconds)
2023-03-10 16:08:08 +0100 <Athas> Yeah, exactly. I also pondered using finalizers to manage GPU memory.
2023-03-10 16:08:29 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2023-03-10 16:08:37 +0100 <Athas> But the problem is that external out-of-resources conditions do not trigger Haskell garbage collection, so it's not really very automatic.
2023-03-10 16:08:58 +0100 <Athas> It just means it will start failing when it is put under pressure (which you will likely not test for).
2023-03-10 16:10:09 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com)
2023-03-10 16:11:22 +0100stackdroid18(14094@de1.hashbang.sh)
2023-03-10 16:12:19 +0100acidjnk_new(~acidjnk@p200300d6e715c453151e77c9b880b4dd.dip0.t-ipconnect.de)
2023-03-10 16:15:48 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Ping timeout: 255 seconds)
2023-03-10 16:16:31 +0100gurkenglas(~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
2023-03-10 16:17:10 +0100ft(~ft@p3e9bc443.dip0.t-ipconnect.de)
2023-03-10 16:17:18 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 16:18:23 +0100cfricke(~cfricke@user/cfricke) (Ping timeout: 255 seconds)
2023-03-10 16:22:56 +0100 <[exa]> Athas: julia folks have been struggling hard with the GPU finalizers lately
2023-03-10 16:26:16 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 276 seconds)
2023-03-10 16:32:27 +0100pavonia(~user@user/siracusa) (Ping timeout: 248 seconds)
2023-03-10 16:32:51 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-03-10 16:32:53 +0100michalz(~michalz@185.246.207.205) (Remote host closed the connection)
2023-03-10 16:33:05 +0100gurkenglas(~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
2023-03-10 16:35:30 +0100Fischmiep98(~Fischmiep@user/Fischmiep)
2023-03-10 16:35:54 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Read error: Connection reset by peer)
2023-03-10 16:35:54 +0100Fischmiep98Fischmiep9
2023-03-10 16:37:18 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Excess Flood)
2023-03-10 16:38:24 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 16:42:07 +0100chele(~chele@user/chele) (Remote host closed the connection)
2023-03-10 16:44:27 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Quit: Ping timeout (120 seconds))
2023-03-10 16:45:15 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 16:45:34 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 16:51:28 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2023-03-10 16:51:48 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Ping timeout: 255 seconds)
2023-03-10 16:51:49 +0100Fischmiep94(~Fischmiep@user/Fischmiep)
2023-03-10 16:51:49 +0100Fischmiep94Fischmiep9
2023-03-10 16:55:17 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-03-10 16:55:19 +0100 <absence> [Leary]: that invert function is certainly interesting :)
2023-03-10 16:57:46 +0100derpyxdhs(~derpyxdhs@user/derpyxdhs)
2023-03-10 17:03:28 +0100random-jellyfish(~random-je@user/random-jellyfish)
2023-03-10 17:04:46 +0100mbuf(~Shakthi@49.207.178.186) (Quit: Leaving)
2023-03-10 17:04:59 +0100Pickchea(~private@user/pickchea)
2023-03-10 17:06:59 +0100polyphem_(~rod@2a02:810d:840:8754:a163:3b79:bf9b:e9ae) (Ping timeout: 265 seconds)
2023-03-10 17:07:44 +0100polyphem_(~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17)
2023-03-10 17:09:55 +0100Joao003(~Joao003@2804:840:8310:4e00:f84c:ab29:e4ec:b13f)
2023-03-10 17:10:35 +0100Sgeo(~Sgeo@user/sgeo)
2023-03-10 17:13:35 +0100 <Athas> [exa]: they will continue to struggle.
2023-03-10 17:15:31 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 17:16:05 +0100zeenk(~zeenk@2a02:2f04:a20d:f900::7fe) (Quit: Konversation terminated!)
2023-03-10 17:16:14 +0100Lycurgus(~juan@user/Lycurgus)
2023-03-10 17:16:21 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Read error: Connection reset by peer)
2023-03-10 17:16:45 +0100Albina_Pavlovna(~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com)
2023-03-10 17:17:27 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 17:18:48 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
2023-03-10 17:20:13 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
2023-03-10 17:24:01 +0100phma(phma@2001:5b0:210f:1e8:e820:69d4:61ee:fd3b) (Read error: Connection reset by peer)
2023-03-10 17:25:05 +0100phma(~phma@host-67-44-208-43.hnremote.net)
2023-03-10 17:25:59 +0100fnurglewitz(uid263868@id-263868.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-03-10 17:26:22 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 17:28:34 +0100 <[exa]> Athas: I know. (sad story tho)
2023-03-10 17:29:39 +0100serioiusly(~serioiusl@2001:1c06:2715:c200:621c:2416:8272:1ad2)
2023-03-10 17:30:03 +0100serioiusly(~serioiusl@2001:1c06:2715:c200:621c:2416:8272:1ad2) (Client Quit)
2023-03-10 17:30:30 +0100 <Athas> Actually, GPU memory may be one case where it is possible for finalizers to be robust, but you need serious engineering in order to make the GPU-allocation-code run the host garbage collector when it encounters GPU OOM.
2023-03-10 17:30:52 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Ping timeout: 252 seconds)
2023-03-10 17:31:06 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-03-10 17:31:28 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 248 seconds)
2023-03-10 17:33:08 +0100 <int-e> kuribas: http://paste.debian.net/1273610/ ...the linear types story in Idris 2 may still be evolving
2023-03-10 17:33:12 +0100 <[exa]> Athas: ...which kinda reduces down the oom-passing situation we also had with general linux and many other things, and I'm not aware of anyone who really solved that. :D
2023-03-10 17:33:38 +0100 <Athas> Well, Linux uses overcommit. I don't think standard GPU drivers do that.
2023-03-10 17:35:13 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 17:36:07 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 17:36:30 +0100 <int-e> OSs have mmap and swapping, either of which gives you the mechanism for overcommitting; GPUs don't do any of that.
2023-03-10 17:37:37 +0100 <int-e> (Well, I think. They certainly *could*, with main memory as the primary off-GPU storage...)
2023-03-10 17:38:04 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Quit: Ping timeout (120 seconds))
2023-03-10 17:38:05 +0100 <[exa]> latest cuda docs might have some ugly spoilers in that regard
2023-03-10 17:38:25 +0100 <Athas> Yes, GPUs can do that, but they don't by default. (Actually, it's up to how the program allocates the memory.)
2023-03-10 17:39:25 +0100 <int-e> Maybe we should define what the OS equivalent is here; in my mental model, it's the GPU driver.
2023-03-10 17:41:40 +0100 <int-e> And I guess there's some swapping needed at that level for servers to satisfy cloud computing providers.
2023-03-10 17:41:45 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
2023-03-10 17:42:20 +0100Fischmiep9(~Fischmiep@user/Fischmiep)
2023-03-10 17:43:10 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-03-10 17:46:16 +0100razetime(~Thunderbi@117.193.3.156)
2023-03-10 17:46:35 +0100razetime(~Thunderbi@117.193.3.156) (Client Quit)
2023-03-10 17:46:52 +0100NiceBird(~NiceBird@185.133.111.196)
2023-03-10 17:46:55 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-03-10 17:47:30 +0100Fischmiep96(~Fischmiep@user/Fischmiep)
2023-03-10 17:47:39 +0100Fischmiep9(~Fischmiep@user/Fischmiep) (Ping timeout: 248 seconds)
2023-03-10 17:47:40 +0100Fischmiep96Fischmiep9
2023-03-10 17:52:59 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-03-10 17:56:46 +0100gtdg(~gtdg@user/gtdg) (Quit: Client closed)
2023-03-10 18:00:52 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 18:04:09 +0100mmhat(~mmh@p200300f1c710303bee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2023-03-10 18:06:08 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
2023-03-10 18:08:01 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 18:09:17 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Remote host closed the connection)
2023-03-10 18:10:53 +0100MajorBiscuit(~MajorBisc@145.94.161.20) (Quit: WeeChat 3.6)
2023-03-10 18:11:39 +0100vpan(~0@212.117.1.172) (Quit: Leaving.)
2023-03-10 18:12:52 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
2023-03-10 18:14:12 +0100cfricke(~cfricke@user/cfricke)
2023-03-10 18:16:31 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-03-10 18:17:38 +0100Albina_Pavlovna(~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Quit: ZZZzzz…)
2023-03-10 18:21:12 +0100mmhat(~mmh@p200300f1c71723abee086bfffe095315.dip0.t-ipconnect.de)
2023-03-10 18:23:09 +0100random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2023-03-10 18:23:46 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-03-10 18:24:34 +0100gurkenglas(~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
2023-03-10 18:26:05 +0100gurkenglas(~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
2023-03-10 18:27:21 +0100dsrt^(~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection)
2023-03-10 18:36:41 +0100cheater_(~Username@user/cheater)
2023-03-10 18:37:22 +0100kuribas(~user@ptr-17d51ep1f61edodz1os.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2023-03-10 18:39:23 +0100cheater__(~Username@user/cheater)
2023-03-10 18:40:00 +0100cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2023-03-10 18:40:08 +0100cheater__cheater
2023-03-10 18:41:53 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-03-10 18:43:03 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-03-10 18:43:25 +0100cheater_(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 18:46:34 +0100econo(uid147250@user/econo)
2023-03-10 18:50:07 +0100ddellacosta(~ddellacos@146.70.166.10) (Quit: WeeChat 3.8)
2023-03-10 18:51:09 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-03-10 18:55:07 +0100vglfr(~vglfr@209.198.138.7) (Ping timeout: 276 seconds)
2023-03-10 18:55:11 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
2023-03-10 18:55:25 +0100vglfr(~vglfr@209.198.138.7)
2023-03-10 18:56:11 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 18:56:40 +0100cheater_(~Username@user/cheater)
2023-03-10 18:59:01 +0100cheater(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 18:59:05 +0100cheater_cheater
2023-03-10 19:00:57 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
2023-03-10 19:05:48 +0100ddellacosta(~ddellacos@143.244.47.100)
2023-03-10 19:06:42 +0100akegalj(~akegalj@161-232.dsl.iskon.hr) (Quit: Lost terminal)
2023-03-10 19:09:47 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 19:10:24 +0100ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 255 seconds)
2023-03-10 19:10:59 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-03-10 19:11:16 +0100mmhat(~mmh@p200300f1c71723abee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
2023-03-10 19:12:06 +0100ddellacosta(~ddellacos@146.70.165.157)
2023-03-10 19:14:25 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Ping timeout: 260 seconds)
2023-03-10 19:15:34 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 19:20:27 +0100cheater_(~Username@user/cheater)
2023-03-10 19:21:07 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
2023-03-10 19:21:46 +0100cheater(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 19:21:53 +0100cheater_cheater
2023-03-10 19:23:42 +0100cheater_(~Username@user/cheater)
2023-03-10 19:23:44 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-03-10 19:25:40 +0100foul_owl(~kerry@193.29.61.203) (Ping timeout: 276 seconds)
2023-03-10 19:25:57 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-03-10 19:26:39 +0100cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-03-10 19:27:18 +0100theproffesor(~theproffe@user/theproffesor) (Read error: Connection reset by peer)
2023-03-10 19:27:37 +0100theproffesor(~theproffe@c-73-217-58-76.hsd1.co.comcast.net)
2023-03-10 19:27:37 +0100theproffesor(~theproffe@c-73-217-58-76.hsd1.co.comcast.net) (Changing host)
2023-03-10 19:27:37 +0100theproffesor(~theproffe@user/theproffesor)
2023-03-10 19:29:25 +0100roconnor(~quassel@coq/roconnor)
2023-03-10 19:29:31 +0100cheater_(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-03-10 19:29:54 +0100 <roconnor> Is there a way to cabal test to rerun a particular test, or how would you recommend doing that?
2023-03-10 19:34:08 +0100cheater(~Username@user/cheater)
2023-03-10 19:35:33 +0100cheater_(~Username@user/cheater)
2023-03-10 19:38:24 +0100 <monochrom> I don't think cabal enumerates test cases at all.
2023-03-10 19:38:55 +0100cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2023-03-10 19:39:14 +0100foul_owl(~kerry@157.97.134.61)
2023-03-10 19:39:24 +0100 <monochrom> Apart from allowing multiple "test-suite <name>" sections, then you can "cabal test <name> <name> ..."
2023-03-10 19:40:16 +0100pony(sid524992@smol/hors) ()
2023-03-10 19:40:26 +0100 <monochrom> Then you have to horribily make 100 test-suite sections for 100 test cases so you can elect to just run 1 of them. >:)
2023-03-10 19:40:35 +0100notzmv(~zmv@user/notzmv)
2023-03-10 19:40:59 +0100 <monochrom> I am not sure I recommend it.
2023-03-10 19:41:39 +0100 <monochrom> But it's one of those times when the solution is unique, both "it's the best solution" and "it's the worst solution" are true.
2023-03-10 19:41:55 +0100cheater_(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 19:42:30 +0100cheater_(~Username@user/cheater)
2023-03-10 19:42:30 +0100cheater_cheater
2023-03-10 19:43:57 +0100waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-03-10 19:45:00 +0100cheater_(~Username@user/cheater)
2023-03-10 19:45:21 +0100roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2023-03-10 19:45:51 +0100 <tdammers> roconnor: if you're using tasty, you can set tasty options through environment variables, e.g.: export TASTY_PATTERN=Some.Test.Case; cabal test
2023-03-10 19:46:05 +0100 <roconnor> oooh
2023-03-10 19:46:45 +0100 <tdammers> in theory there should also be a way of passing command-line arguments to the test suite through cabal test, but IME the required quoting/escaping becomes waaaaaay to complicated for a mere mortal like myself to perform reliably
2023-03-10 19:47:07 +0100 <edmundnoble> Usually I do `cabal run tests -- -p "mypattern"`, but I only have one test-suite usually
2023-03-10 19:47:47 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-03-10 19:48:06 +0100 <roconnor> Oh if I can use -p like that, that seems easier.
2023-03-10 19:48:25 +0100cheater(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 19:48:43 +0100vglfr(~vglfr@209.198.138.7) (Read error: Connection reset by peer)
2023-03-10 19:49:03 +0100 <edmundnoble> I'm trying to add pretty-simple as a dependency to my cabal repl sessions without adding it as a dependency to the .cabal file. Is that even possible right now? I'm okay with using a bash alias or something. I tried `cabal repl -b pretty-simple` and it only works if I'm not already in a cabal project... I want to do this inside a project
2023-03-10 19:49:11 +0100 <edmundnoble> https://github.com/haskell/cabal/issues/1835 seems to say that it's broken or something
2023-03-10 19:49:22 +0100cheater_(~Username@user/cheater) (Ping timeout: 246 seconds)
2023-03-10 19:50:14 +0100pony(sid524992@smol/hors)
2023-03-10 19:50:26 +0100pony(sid524992@smol/hors) (Client Quit)
2023-03-10 19:50:34 +0100theproffesor(~theproffe@user/theproffesor) (Read error: Connection reset by peer)
2023-03-10 19:50:35 +0100waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 260 seconds)
2023-03-10 19:51:25 +0100waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2023-03-10 19:51:29 +0100vglfr(~vglfr@209.198.138.7)
2023-03-10 19:51:59 +0100cheater(~Username@user/cheater)
2023-03-10 19:52:32 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 19:56:57 +0100cheater_(~Username@user/cheater)
2023-03-10 19:57:12 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
2023-03-10 19:58:38 +0100cheater__(~Username@user/cheater)
2023-03-10 19:59:08 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-03-10 19:59:23 +0100cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-03-10 19:59:44 +0100cheater___(~Username@user/cheater)
2023-03-10 19:59:44 +0100cheater___cheater
2023-03-10 20:01:36 +0100theproffesor(~theproffe@user/theproffesor)
2023-03-10 20:01:47 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-03-10 20:02:43 +0100cheater_(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 20:03:18 +0100cheater_(~Username@user/cheater)
2023-03-10 20:03:30 +0100cheater__(~Username@user/cheater) (Ping timeout: 255 seconds)
2023-03-10 20:04:36 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-03-10 20:05:49 +0100cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2023-03-10 20:06:08 +0100cheater__(~Username@user/cheater)
2023-03-10 20:06:08 +0100cheater__cheater
2023-03-10 20:07:44 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-03-10 20:08:27 +0100cheater_(~Username@user/cheater) (Ping timeout: 255 seconds)
2023-03-10 20:09:37 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2023-03-10 20:10:05 +0100cheater_(~Username@user/cheater)
2023-03-10 20:11:26 +0100cheater__(~Username@user/cheater)
2023-03-10 20:13:24 +0100cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2023-03-10 20:14:38 +0100cheater___(~Username@user/cheater)
2023-03-10 20:14:38 +0100cheater___cheater
2023-03-10 20:15:43 +0100cheater_(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 20:16:57 +0100theproffesor(~theproffe@user/theproffesor) (Read error: Connection reset by peer)
2023-03-10 20:17:17 +0100cheater_(~Username@user/cheater)
2023-03-10 20:17:27 +0100theproffesor(~theproffe@c-73-217-58-76.hsd1.co.comcast.net)
2023-03-10 20:17:27 +0100theproffesor(~theproffe@c-73-217-58-76.hsd1.co.comcast.net) (Changing host)
2023-03-10 20:17:27 +0100theproffesor(~theproffe@user/theproffesor)
2023-03-10 20:17:51 +0100cheater__(~Username@user/cheater) (Ping timeout: 247 seconds)
2023-03-10 20:19:21 +0100cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2023-03-10 20:22:51 +0100cheater_(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-03-10 20:24:38 +0100cheater_(~Username@user/cheater)
2023-03-10 20:24:38 +0100cheater_cheater
2023-03-10 20:25:47 +0100FurudeRika[m](~chitandae@2001:470:69fc:105::1:6039)
2023-03-10 20:27:17 +0100cheater_(~Username@user/cheater)
2023-03-10 20:30:40 +0100cheater(~Username@user/cheater) (Ping timeout: 276 seconds)
2023-03-10 20:30:43 +0100cheater_cheater
2023-03-10 20:31:17 +0100pavonia(~user@user/siracusa)
2023-03-10 20:39:23 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-03-10 20:39:43 +0100theproffesor(~theproffe@user/theproffesor) (Ping timeout: 248 seconds)
2023-03-10 20:43:45 +0100cheater_(~Username@user/cheater)
2023-03-10 20:44:21 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds)
2023-03-10 20:44:36 +0100ph88(~ph88@ip5b426553.dynamic.kabel-deutschland.de)
2023-03-10 20:45:15 +0100cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2023-03-10 20:45:20 +0100cheater_cheater
2023-03-10 20:45:24 +0100theproffesor(~theproffe@user/theproffesor)
2023-03-10 20:48:26 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-03-10 20:50:50 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 20:52:46 +0100derpyxdhs(~derpyxdhs@user/derpyxdhs) (Ping timeout: 276 seconds)
2023-03-10 20:53:43 +0100the_proffesor(~theproffe@c-73-217-58-76.hsd1.co.comcast.net)
2023-03-10 20:53:43 +0100the_proffesor(~theproffe@c-73-217-58-76.hsd1.co.comcast.net) (Changing host)
2023-03-10 20:53:43 +0100the_proffesor(~theproffe@user/theproffesor)
2023-03-10 20:54:48 +0100theproffesor(~theproffe@user/theproffesor) (Ping timeout: 255 seconds)
2023-03-10 21:02:34 +0100Lumia(~Lumia@user/Lumia)
2023-03-10 21:03:18 +0100mmhat(~mmh@p200300f1c71723abee086bfffe095315.dip0.t-ipconnect.de)
2023-03-10 21:03:59 +0100 <akadude[m]> Any advice on a coroutine library? https://hackage.haskell.org/package/monad-coroutine is cool but lacks some instances for MTL
2023-03-10 21:05:49 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 21:07:39 +0100mei(~mei@user/mei) (Remote host closed the connection)
2023-03-10 21:09:59 +0100mei(~mei@user/mei)
2023-03-10 21:10:40 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
2023-03-10 21:11:12 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-03-10 21:14:40 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-03-10 21:16:02 +0100mmhat(~mmh@p200300f1c71723abee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
2023-03-10 21:16:44 +0100Lumia(~Lumia@user/Lumia) (Ping timeout: 252 seconds)
2023-03-10 21:16:45 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 21:19:00 +0100Lumia(~Lumia@user/Lumia)
2023-03-10 21:22:13 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
2023-03-10 21:22:48 +0100Joao003(~Joao003@2804:840:8310:4e00:f84c:ab29:e4ec:b13f) (Quit: Leaving)
2023-03-10 21:23:42 +0100mc47(~mc47@xmonad/TheMC47)
2023-03-10 21:28:13 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-03-10 21:33:07 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-03-10 21:35:36 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Remote host closed the connection)
2023-03-10 21:44:08 +0100roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Quit: Leaving...)
2023-03-10 21:50:36 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
2023-03-10 21:51:07 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-03-10 21:52:44 +0100mechap(~mechap@user/mechap) (Ping timeout: 255 seconds)
2023-03-10 21:53:39 +0100Lumia(~Lumia@user/Lumia) (Remote host closed the connection)
2023-03-10 21:54:03 +0100Lumia(~Lumia@user/Lumia)
2023-03-10 21:54:41 +0100mechap(~mechap@user/mechap)
2023-03-10 21:55:21 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2023-03-10 21:57:10 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-03-10 21:57:58 +0100 <johnw> akadude[m]: I imagine you can use pipes to do this same thing?
2023-03-10 21:58:41 +0100 <lyxia> When I cabal build a package it compiles, but when I cabal install it it fails. What could be going wrong?
2023-03-10 21:59:01 +0100 <lyxia> Also it's failing at compiling C code
2023-03-10 21:59:28 +0100 <lyxia> like a missing header which is in the same directory
2023-03-10 21:59:39 +0100 <dminuoso> lyxia: Can you share the output you are getting? Perhaps with increased verbosity to cabal
2023-03-10 22:03:12 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-03-10 22:03:18 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4)
2023-03-10 22:03:42 +0100 <lyxia> https://paste.debian.net/1273647/ and if you want to try and repro it's https://github.com/koka-lang/koka/
2023-03-10 22:04:29 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-03-10 22:05:54 +0100 <lyxia> what does cabal install do anyway besides copying the one executable I care about? (there's no library)
2023-03-10 22:06:13 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 276 seconds)
2023-03-10 22:06:21 +0100 <mauke> is that cabal build or cabal install?
2023-03-10 22:06:25 +0100 <lyxia> cabal install
2023-03-10 22:06:30 +0100 <lyxia> cabal build succeeds
2023-03-10 22:06:45 +0100 <mauke> with the same output?
2023-03-10 22:07:06 +0100 <lyxia> minus the error message at the end
2023-03-10 22:08:00 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2023-03-10 22:09:35 +0100 <lyxia> hmm, cconsole.c is in the cabal file but not cconsole.h, how much should I bet that's the problem
2023-03-10 22:10:16 +0100 <dminuoso> You should bet after you made the tiny modification on the cabal file and already know the answer.
2023-03-10 22:10:22 +0100 <dminuoso> Potential to get rich here.
2023-03-10 22:10:27 +0100 <[Leary]> lyxia: That's my guess. Looking at another library, they put their c headers in extra-source-files.
2023-03-10 22:10:56 +0100 <lyxia> yup that did it
2023-03-10 22:10:56 +0100vglfr(~vglfr@209.198.138.7) (Read error: Connection reset by peer)
2023-03-10 22:11:09 +0100 <lyxia> thank you my yellow rubber duckies
2023-03-10 22:11:44 +0100vglfr(~vglfr@209.198.138.7)
2023-03-10 22:14:01 +0100turlando(~turlando@user/turlando) (Ping timeout: 276 seconds)
2023-03-10 22:14:40 +0100 <akadude[m]> johnw: yes, thank you, seem so. However, I can't find a function what does to `Consumer` what `next` does to `Producer`, `:: Consumer' a m r -> m (Either r (a -> Consumer' a m r))`. That function is crucial to my case
2023-03-10 22:16:29 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 22:18:31 +0100turlando(~turlando@user/turlando)
2023-03-10 22:19:33 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:549:b79e:2220:68b4) (Remote host closed the connection)
2023-03-10 22:20:58 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-03-10 22:21:12 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
2023-03-10 22:21:54 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-03-10 22:22:40 +0100 <johnw> akadude[m]: It shouldn't be hard to write that function. If the Consumer value is of the `Request` constructor type, then that contains the function you want.
2023-03-10 22:23:36 +0100trev(~trev@user/trev) (Remote host closed the connection)
2023-03-10 22:23:44 +0100vglfr(~vglfr@209.198.138.7) (Read error: Connection reset by peer)
2023-03-10 22:24:10 +0100 <akadude[m]> Mmm, so the constructors are exposed in the internal module, okay. I guess that's less work that with the monad-coroutine library. Thanks for advice
2023-03-10 22:25:54 +0100vglfr(~vglfr@209.198.138.7)
2023-03-10 22:39:22 +0100the_proffesor(~theproffe@user/theproffesor) (Ping timeout: 276 seconds)
2023-03-10 22:42:37 +0100mncheck(~mncheck@193.224.205.254) (Ping timeout: 276 seconds)
2023-03-10 22:46:31 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 276 seconds)
2023-03-10 22:49:54 +0100chomwitt(~chomwitt@2a02:587:7a18:6d00:1ac0:4dff:fedb:a3f1) (Ping timeout: 255 seconds)
2023-03-10 22:49:59 +0100freeside(~mengwong@103.252.202.85)
2023-03-10 22:53:14 +0100robertm(robertm@lattice.rojoma.com) (Quit: ...)
2023-03-10 22:54:30 +0100freeside(~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
2023-03-10 22:54:57 +0100robertm(robertm@lattice.rojoma.com)
2023-03-10 22:55:05 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-03-10 22:58:04 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2023-03-10 23:03:13 +0100gurkengl1s(~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
2023-03-10 23:05:54 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-03-10 23:07:09 +0100Lumia(~Lumia@user/Lumia) (Remote host closed the connection)
2023-03-10 23:07:34 +0100Lumia(~Lumia@user/Lumia)
2023-03-10 23:11:30 +0100mcglk(~mcglk@131.191.19.145) (Ping timeout: 252 seconds)
2023-03-10 23:12:15 +0100stackdroid18(14094@de1.hashbang.sh) (Quit: hasta la vista... tchau!)
2023-03-10 23:16:02 +0100mcglk(~mcglk@131.191.19.145)
2023-03-10 23:23:18 +0100thegeekinside(~thegeekin@189.141.115.134) (Ping timeout: 255 seconds)
2023-03-10 23:32:01 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-03-10 23:32:47 +0100thegeekinside(~thegeekin@189.141.115.134)
2023-03-10 23:37:46 +0100segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-03-10 23:39:16 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-03-10 23:41:39 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-03-10 23:41:40 +0100jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-03-10 23:44:14 +0100dsrt^(~dsrt@c-24-30-76-89.hsd1.ga.comcast.net)
2023-03-10 23:46:52 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-03-10 23:52:14 +0100theproffesor(~theproffe@user/theproffesor)
2023-03-10 23:58:19 +0100Lumia(~Lumia@user/Lumia) (Ping timeout: 248 seconds)
2023-03-10 23:58:40 +0100theproffesor(~theproffe@user/theproffesor) (Ping timeout: 276 seconds)
2023-03-10 23:59:39 +0100NiceBird(~NiceBird@185.133.111.196) (Ping timeout: 268 seconds)