2023/05/08

2023-05-08 00:00:05 +0200Tlsx(~rscastilh@189-82-108-215.user3p.veloxzone.com.br) ()
2023-05-08 00:00:16 +0200zeenk(~zeenk@2a02:2f04:a105:f00::fba) (Quit: Konversation terminated!)
2023-05-08 00:06:54 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 00:10:09 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-08 00:11:44 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
2023-05-08 00:15:03 +0200michalz(~michalz@185.246.207.203)
2023-05-08 00:17:36 +0200gurkenglas(~gurkengla@dynamic-046-114-183-044.46.114.pool.telefonica.de) (Ping timeout: 248 seconds)
2023-05-08 00:21:55 +0200michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2023-05-08 00:25:57 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-05-08 00:28:47 +0200Me-me(~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Excess Flood)
2023-05-08 00:29:43 +0200Me-me(~me-me@2602:ff16:3:0:1:dc:beef:d00d)
2023-05-08 00:30:07 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 00:35:24 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 00:38:57 +0200totbwf(uid402332@id-402332.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-05-08 00:39:25 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 240 seconds)
2023-05-08 01:01:30 +0200tomboy64(~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
2023-05-08 01:02:08 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 01:02:13 +0200SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-05-08 01:04:18 +0200tomboy64(~tomboy64@user/tomboy64)
2023-05-08 01:04:57 +0200ddellacosta(~ddellacos@146.70.185.10)
2023-05-08 01:06:25 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-08 01:06:53 +0200mmhat(~mmh@p200300f1c7066868ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2023-05-08 01:07:17 +0200mmhat(~mmh@p200300f1c706687dee086bfffe095315.dip0.t-ipconnect.de)
2023-05-08 01:13:07 +0200malte(~malte@mal.tc) (Remote host closed the connection)
2023-05-08 01:14:08 +0200malte(~malte@mal.tc)
2023-05-08 01:14:27 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 01:19:48 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 240 seconds)
2023-05-08 01:23:53 +0200alexherbo2(~alexherbo@211.190.65.81.rev.sfr.net) (Remote host closed the connection)
2023-05-08 01:27:55 +0200acidjnk(~acidjnk@p200300d6e7072f017ced2fd979b289f0.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-05-08 01:30:24 +0200mauke_(~mauke@user/mauke)
2023-05-08 01:31:45 +0200mauke(~mauke@user/mauke) (Ping timeout: 240 seconds)
2023-05-08 01:31:45 +0200mauke_mauke
2023-05-08 01:32:25 +0200tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2023-05-08 01:35:25 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-05-08 01:39:26 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 01:47:12 +0200merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl)
2023-05-08 01:53:04 +0200merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2023-05-08 02:00:09 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 02:08:09 +0200oo_miguel(~Thunderbi@77.252.47.78) (Ping timeout: 256 seconds)
2023-05-08 02:10:02 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-08 02:10:37 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 02:10:56 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2023-05-08 02:13:08 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-08 02:13:08 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-08 02:13:08 +0200wroathe(~wroathe@user/wroathe)
2023-05-08 02:13:11 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-05-08 02:16:39 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2023-05-08 02:16:55 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-05-08 02:18:25 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-05-08 02:19:44 +0200pyook(~puke@user/puke) (Ping timeout: 248 seconds)
2023-05-08 02:20:00 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds)
2023-05-08 02:23:57 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 02:31:45 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-05-08 02:33:29 +0200Achylles(~Achylles_@45.182.57.30) (Remote host closed the connection)
2023-05-08 02:34:37 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 02:36:16 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-08 02:38:15 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 02:39:19 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 260 seconds)
2023-05-08 02:43:03 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-05-08 02:45:36 +0200CalculusCats(NyaaTheKit@user/calculuscat) (Meow Meow Meow Meow Meow Meow Meow...)
2023-05-08 02:58:48 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 03:02:38 +0200Yumemi_(~Yumemi@chamoin.net) (Quit: .)
2023-05-08 03:09:57 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
2023-05-08 03:11:28 +0200Yumemi(~Yumemi@chamoin.net)
2023-05-08 03:11:30 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-08 03:12:39 +0200nate2(~nate@98.45.169.16)
2023-05-08 03:17:25 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-08 03:17:39 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-08 03:18:41 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds)
2023-05-08 03:20:03 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 03:20:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:8124:9f4a:3c7a:eaa0) (Remote host closed the connection)
2023-05-08 03:24:39 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-05-08 03:27:54 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 03:28:10 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
2023-05-08 03:28:50 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 03:30:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-08 03:30:47 +0200xff0x(~xff0x@2405:6580:b080:900:6d1c:d01c:159d:3310) (Ping timeout: 264 seconds)
2023-05-08 03:32:05 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-05-08 03:33:50 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 03:34:08 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-05-08 03:34:17 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2023-05-08 03:34:51 +0200pyook(~puke@user/puke)
2023-05-08 03:35:59 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
2023-05-08 03:38:17 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
2023-05-08 03:40:42 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 03:40:47 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 03:45:03 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
2023-05-08 03:46:21 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 250 seconds)
2023-05-08 03:50:26 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
2023-05-08 03:50:28 +0200merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl)
2023-05-08 03:51:39 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001)
2023-05-08 03:52:03 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-08 03:52:03 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-08 03:52:03 +0200wroathe(~wroathe@user/wroathe)
2023-05-08 03:52:24 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
2023-05-08 03:52:40 +0200emmanuelux_(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-05-08 03:53:16 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001)
2023-05-08 03:58:24 +0200rf(~rf@2605:59c8:179c:f610:714:d89a:5981:51ab) (Ping timeout: 248 seconds)
2023-05-08 04:02:58 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 04:04:44 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-05-08 04:04:44 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-05-08 04:04:44 +0200finn_elijaFinnElija
2023-05-08 04:11:28 +0200mmhat(~mmh@p200300f1c706687dee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
2023-05-08 04:12:40 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-05-08 04:13:07 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 260 seconds)
2023-05-08 04:13:17 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-05-08 04:18:04 +0200nate2(~nate@98.45.169.16)
2023-05-08 04:18:04 +0200Yumemi(~Yumemi@chamoin.net) (Quit: .)
2023-05-08 04:20:57 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24)
2023-05-08 04:23:45 +0200td_(~td@i53870927.versanet.de) (Ping timeout: 240 seconds)
2023-05-08 04:23:57 +0200merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2023-05-08 04:25:21 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24) (Ping timeout: 250 seconds)
2023-05-08 04:25:54 +0200td_(~td@i53870906.versanet.de)
2023-05-08 04:33:01 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 04:36:02 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24)
2023-05-08 04:39:57 +0200cheater_(~Username@user/cheater)
2023-05-08 04:40:35 +0200cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2023-05-08 04:40:42 +0200cheater_cheater
2023-05-08 04:42:27 +0200jero98772(~jero98772@190.158.28.80) (Remote host closed the connection)
2023-05-08 04:51:13 +0200nick4(~nick@2600:8807:9103:b700:c91d:758a:9123:f8a2)
2023-05-08 04:52:26 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-08 04:53:03 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 04:57:35 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2023-05-08 05:00:00 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.)
2023-05-08 05:01:09 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2023-05-08 05:05:01 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-05-08 05:06:08 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2023-05-08 05:07:13 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-05-08 05:11:10 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 05:17:28 +0200evin(~evin@118.140.166.145)
2023-05-08 05:18:50 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds)
2023-05-08 05:19:07 +0200nate2(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2023-05-08 05:20:58 +0200Yumemi(~Yumemi@chamoin.net)
2023-05-08 05:23:05 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-05-08 05:24:57 +0200evin(~evin@118.140.166.145) (Quit: Konversation terminated!)
2023-05-08 05:29:08 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-05-08 05:33:20 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-05-08 05:39:35 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 05:44:14 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 250 seconds)
2023-05-08 06:01:19 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 06:03:39 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-08 06:13:05 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
2023-05-08 06:20:24 +0200merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl)
2023-05-08 06:20:31 +0200 <Inst_> ugh, this is embarrassing
2023-05-08 06:21:23 +0200 <Inst_> i have an algorithm that works but is unperformant with lists, and doesn't work and is performant with maps
2023-05-08 06:23:00 +0200hugo(znc@verdigris.lysator.liu.se)
2023-05-08 06:24:30 +0200nick4(~nick@2600:8807:9103:b700:c91d:758a:9123:f8a2) (Ping timeout: 260 seconds)
2023-05-08 06:26:40 +0200merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2023-05-08 06:26:43 +0200 <Inst_> ah, figured it out
2023-05-08 06:26:47 +0200 <Inst_> keys are unique
2023-05-08 06:32:08 +0200 <mauke> I should write a book: Blazing Fast Algorithms (that Don't Work)
2023-05-08 06:33:24 +0200 <jade[m]1> hahaha
2023-05-08 06:33:54 +0200freeside(~mengwong@122.11.248.245)
2023-05-08 06:37:55 +0200 <Axman6> data ProbabalisticBool = Hmm'YeahCouldBeIGuess
2023-05-08 06:46:11 +0200 <jackdk> `data AustralianBool = Yeah AustralianBool | Nah AustralianBool | Mate`
2023-05-08 06:49:33 +0200 <[Leary]> `data KiwiBool = Yeah | Nah | YeahNah`
2023-05-08 06:51:32 +0200 <mauke> Yeah (Nah (Nah (Yeah Mate)))
2023-05-08 06:55:57 +0200Square(~Square@user/square)
2023-05-08 06:58:57 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 06:59:31 +0200 <Square> Is there a mechanism (or languge extension) that can achieve the same things as RecordWildcards, but for classes? Ie, if I had *data type* SomeType i can write foo :: SomeType -> Int :: foo (SomeType {..}) = undefined
2023-05-08 07:00:10 +0200 <Square> Now, could I do the same thing if i changed SomeType into a class?
2023-05-08 07:01:47 +0200 <jade[m]1> if the signature had a constraint instead you wouldn't be able to know whether it's a record - and it shouldn't matter
2023-05-08 07:02:05 +0200 <jade[m]1> classes in haskell don't have fields.
2023-05-08 07:02:06 +0200 <jade[m]1> do you have an example of what you want to do?
2023-05-08 07:03:42 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 265 seconds)
2023-05-08 07:05:58 +0200 <Square> jade[m]1, I had a big data type A for which i wanted to create access limiting view on. Before I picked the parts from A and passed them around. Now I had hoped to create a ReadAccess class for A.
2023-05-08 07:07:01 +0200 <jade[m]1> that sounds more like you want a specific datatype (like a record) that just holds all the fields that are allowed to be seen
2023-05-08 07:07:31 +0200 <Square> yeah, maybe thats the way.
2023-05-08 07:07:31 +0200 <jade[m]1> then you can write `limitView :: SomeData -> LimitedData`
2023-05-08 07:11:29 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-05-08 07:17:42 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-05-08 07:31:27 +0200freeside(~mengwong@122.11.248.245) (Ping timeout: 260 seconds)
2023-05-08 07:33:00 +0200werneta_(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds)
2023-05-08 07:33:36 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 07:33:50 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-05-08 07:36:21 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-05-08 07:38:35 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 264 seconds)
2023-05-08 07:43:49 +0200freeside(~mengwong@122.11.248.245)
2023-05-08 07:48:20 +0200trev(~trev@user/trev)
2023-05-08 07:48:45 +0200 <Inst_> mauke: tbh, you could actually write a decent DSA book based on that comment
2023-05-08 07:48:57 +0200 <Inst_> instead of teaching algorithms, you'd teach methods of designing algorithms
2023-05-08 07:52:59 +0200michalz(~michalz@185.246.207.221)
2023-05-08 07:56:24 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 08:00:45 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-08 08:03:04 +0200attacker0211(~attacker0@lnsm5-toronto11-142-116-133-30.internet.virginmobile.ca)
2023-05-08 08:05:46 +0200freeside_(~mengwong@202.161.55.11)
2023-05-08 08:07:25 +0200freeside(~mengwong@122.11.248.245) (Ping timeout: 256 seconds)
2023-05-08 08:10:54 +0200attacker0211(~attacker0@lnsm5-toronto11-142-116-133-30.internet.virginmobile.ca) (Quit: Connection closed)
2023-05-08 08:12:09 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-08 08:13:43 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 08:17:38 +0200lav(~pi@wikipedia/maddy-from-celeste) (Ping timeout: 250 seconds)
2023-05-08 08:18:08 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 248 seconds)
2023-05-08 08:22:35 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-05-08 08:24:44 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:2d52:c5aa:cfa9:3177)
2023-05-08 08:29:26 +0200lav(~pi@wikipedia/maddy-from-celeste)
2023-05-08 08:30:34 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2023-05-08 08:34:31 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-08 08:36:43 +0200gentauro(~gentauro@user/gentauro)
2023-05-08 08:37:10 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 08:40:40 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-08 08:41:59 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2023-05-08 08:45:34 +0200acidjnk(~acidjnk@p200300d6e7072f29d032399e5afc9b1f.dip0.t-ipconnect.de)
2023-05-08 08:45:40 +0200 <mauke> you could even wrap it in a class
2023-05-08 08:46:23 +0200 <mauke> class HasLimitView a where { limitView :: a -> LimitedData }
2023-05-08 08:46:59 +0200 <mauke> instance HasLimitView SomeType where { limitView SomeType{..} = LimitedData{..} }
2023-05-08 08:47:13 +0200 <mauke> instance HasLimitView LimitedData where { limitView = id }
2023-05-08 08:48:00 +0200 <mauke> foo :: (HasLimitView a) => a -> Int; foo (limitView -> LimitedData{..}) = ...
2023-05-08 08:48:58 +0200 <mauke> although since the only thing you can do with `(HasLimitView a) => a` is to call limitView on it, it might make more sense for foo to take a LimitedData directly
2023-05-08 08:49:21 +0200Square(~Square@user/square) (Ping timeout: 256 seconds)
2023-05-08 08:52:26 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-05-08 08:53:12 +0200 <talismanick> Before feeding a string to (atto)parsec, how might I pad parentheses and brackets with spaces or achieve the effect of that?
2023-05-08 08:54:07 +0200 <jade[m]1> why do you want to preprocess that?
2023-05-08 08:54:25 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 08:54:30 +0200 <jade[m]1> can you not parse and take into account whitespace when building an AST?
2023-05-08 08:54:51 +0200 <talismanick> jade[m]1: because it's annoying to parse whitespace and handle edge cases
2023-05-08 08:55:34 +0200 <talismanick> Everything's great if I can vacuum String data into Text, do stuff with it, and only spit back out String at endpoints, but, even with laziness, fmap'ing over [Char] seems... poorly advised
2023-05-08 08:55:46 +0200 <jade[m]1> I would suggest to just use a lexer/lexeme parser and wrap your primitives with that - I would assume that padding things beforehand would be much much more complicated
2023-05-08 08:55:47 +0200 <talismanick> fmap'ing a pad function, that is
2023-05-08 08:56:40 +0200 <talismanick> jade[m]1: You think? What I just suggested would be really easy, just... inefficient (I think)
2023-05-08 08:56:53 +0200marinelli(~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
2023-05-08 08:57:10 +0200 <jade[m]1> well, you'd have to essentially parse the file, pad and then reparse
2023-05-08 08:57:20 +0200 <jade[m]1> because for example you wouldn't wanna pad parantheses in strings
2023-05-08 08:57:30 +0200 <jade[m]1> so you have context to consider
2023-05-08 08:57:38 +0200 <talismanick> oh, that's true
2023-05-08 08:57:49 +0200 <jackdk> talismanick: perhaps not as complicated as you fear. See "Design Patterns for Parser Combinators" https://www.youtube.com/watch?v=RwzX1XltOGY (talk); https://dl.acm.org/doi/10.1145/3471874.3472984 (paper)
2023-05-08 08:58:06 +0200 <talismanick> jackdk: thanks, I'll take a look
2023-05-08 08:58:27 +0200 <jade[m]1> Using a lexer and wrapping your primitives in them makes parsing whitespace pretty ergonomic in my experience
2023-05-08 08:58:29 +0200 <jackdk> in particular, the trick about making each lexeme consume all following whitespace
2023-05-08 08:58:34 +0200 <jackdk> jade[m]1: ++
2023-05-08 08:58:59 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds)
2023-05-08 08:59:28 +0200marinelli(~weechat@gateway/tor-sasl/marinelli)
2023-05-08 09:08:19 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-05-08 09:12:00 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 09:16:00 +0200nate2(~nate@98.45.169.16)
2023-05-08 09:17:27 +0200 <tomsmeding> yep, that trick is the one you're looking for
2023-05-08 09:18:01 +0200 <tomsmeding> mind to consume all _following_ whitespace: consuming all preceding whitespace also works, but results in a whole bunch of additional uses of 'try' and inefficiency around large blocks of whitespace/comments
2023-05-08 09:19:43 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 260 seconds)
2023-05-08 09:21:04 +0200nate2(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2023-05-08 09:26:23 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 09:28:37 +0200gmg(~user@user/gehmehgeh)
2023-05-08 09:30:01 +0200oo_miguel(~Thunderbi@77.252.47.78)
2023-05-08 09:30:31 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-08 09:32:47 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 09:35:18 +0200merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl)
2023-05-08 09:37:31 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2023-05-08 09:47:34 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-05-08 09:48:15 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-05-08 09:48:58 +0200freeside_(~mengwong@202.161.55.11) (Ping timeout: 265 seconds)
2023-05-08 09:50:12 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 09:52:28 +0200freeside(~mengwong@122.11.248.245)
2023-05-08 09:54:24 +0200Maeda(~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving)
2023-05-08 09:54:28 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-08 09:55:30 +0200 <Inst_> curious about one factor of Haskell
2023-05-08 09:55:36 +0200 <Inst_> I was translating my O'Neill sieve into Julia
2023-05-08 09:55:37 +0200 <Inst_> it's bugged
2023-05-08 09:55:50 +0200 <Inst_> and when I write imperative languages, I tend to overcomment
2023-05-08 09:55:58 +0200 <Inst_> so much that the Haskell code was 1/3rd the size of the Julia code's size
2023-05-08 09:56:06 +0200 <Inst_> erm, 1/3rd the size of the Julia code
2023-05-08 09:56:21 +0200titibandit(~titibandi@user/titibandit)
2023-05-08 09:56:26 +0200 <Inst_> but the overcommenting in Haskell, it seems that comments in Haskell code seem unnatural
2023-05-08 09:56:55 +0200 <[exa]> yeah there are no "good" points to attach comments into expressions that fit in 1 line
2023-05-08 09:57:39 +0200 <jade[m]1> It's better to comment functions and types, rather than expressions
2023-05-08 09:57:47 +0200 <jade[m]1> because the expressions are by design declarative
2023-05-08 09:57:48 +0200 <[exa]> in do notation you can go ham with EOL --comments or interline {-comments-} because it kinda fits there, elsewhere it's weird except for docstrings on stuff
2023-05-08 09:57:51 +0200 <Inst_> i know overcommenting is bad
2023-05-08 09:58:01 +0200 <Inst_> but it's sort of funny to try to break up the Haskell code for overcommenting
2023-05-08 09:58:04 +0200 <jackdk> overcommenting is in the eye of the reader
2023-05-08 09:58:24 +0200 <jackdk> I have some pretty big slab comments in work code where the detailed explanation matters a lot
2023-05-08 09:58:25 +0200 <Inst_> tbh everything less than overcommenting I think is undercommenting for a newbie or non-Haskeller coming in
2023-05-08 09:58:39 +0200 <[exa]> also, like, you're free to write the code in a way that requires no commentary
2023-05-08 09:58:55 +0200 <jackdk> that is the ideal but is sometimes unreachable.
2023-05-08 09:59:01 +0200 <jade[m]1> [exa]: yep, if possible this is the best solution in my opinion
2023-05-08 09:59:35 +0200 <Inst_> what cancer have I wrought!
2023-05-08 09:59:36 +0200 <Inst_> https://media.discordapp.net/attachments/968989726633779215/1105041261104222208/image.png?width=11…
2023-05-08 09:59:59 +0200 <[exa]> ideally the only non-docstring comments are ones for a really tricky stuff ("danger here! you're going to trip over this")
2023-05-08 10:00:20 +0200 <[exa]> if you need more comments just break the code to allow for more docstring places
2023-05-08 10:00:36 +0200 <Inst_> but the commenting story IS sort of interesting, i.e, Haskell's terseness makes possible really ridiculous comment : code ratios
2023-05-08 10:00:36 +0200 <jade[m]1> that is a lot of comments
2023-05-08 10:01:01 +0200zeenk(~zeenk@2a02:2f04:a105:f00::fba)
2023-05-08 10:01:06 +0200 <jackdk> my main objection is that it's a screenshot of code rather than a pastebin link
2023-05-08 10:01:07 +0200 <Inst_> it was posted in the Julia Discord to ask them for help on improving the Julia translation, i.e, it's a variation on O'Neill Sieve
2023-05-08 10:01:27 +0200 <jackdk> It seems completely defensible to me to write a lot of comments when explaining haskell code to a newcomer
2023-05-08 10:01:32 +0200 <Inst_> https://paste.tomsmeding.com/ZVIDob9B
2023-05-08 10:01:35 +0200 <Inst_> oh fine
2023-05-08 10:01:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-05-08 10:02:06 +0200 <jade[m]1> jackdk: oh yeah, for sure
2023-05-08 10:02:08 +0200 <[exa]> Inst_: actually that's okay, the only problem I see (don't see actually) is the case head completely lost among the comment block
2023-05-08 10:02:15 +0200 <jade[m]1> it depends on who is intended to read the code
2023-05-08 10:02:24 +0200 <Inst_> should Haskellers actually overcomment?
2023-05-08 10:02:40 +0200 <[exa]> there's reddit for that
2023-05-08 10:02:45 +0200 <jade[m]1> having started to work myself into the GHC codebase, I have to say that I really like the amount of comments and notes
2023-05-08 10:02:57 +0200 <jade[m]1> they make the code very readable and also very explicit at the same time
2023-05-08 10:03:22 +0200 <[exa]> Inst_: anyway at this point you might just want to go literate haskell
2023-05-08 10:03:44 +0200chele(~chele@user/chele)
2023-05-08 10:04:01 +0200 <Inst_> i know; it's sorely underused
2023-05-08 10:04:15 +0200 <Inst_> I'm trying to make time to go back to work on my cabal wrapper project, which is going nowhere
2023-05-08 10:04:21 +0200 <[exa]> as in, the ghc code is kinda literate haskell, except not formatted in lhc :D
2023-05-08 10:04:30 +0200 <Inst_> maybe putting it up as .lhs might be interesting
2023-05-08 10:05:12 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2023-05-08 10:05:41 +0200 <[exa]> more generally, most problems with layout and information bumping into each other are best solved by changing the format
2023-05-08 10:06:03 +0200 <[exa]> so well, yeah. :D
2023-05-08 10:13:36 +0200 <ski> Inst_ : i think i would try put the comment about (or maybe below) the item it's commenting, rather than put it to the right of the item. that would also mean those comment lines could be longer, and so there'd be fewer comment lines
2023-05-08 10:13:53 +0200 <Inst_> yeah, sorry, i got used to vertical commenting
2023-05-08 10:13:57 +0200 <Inst_> erm, horizontal commenting
2023-05-08 10:14:02 +0200 <ski> (i'd also put `:' just before the code on the next line, instead of at the end of the line before)
2023-05-08 10:15:46 +0200 <Inst_> the point of horizontal vs vertical is more that, say, with imperative code, you can now be explicit with what each step is doing
2023-05-08 10:16:03 +0200 <Inst_> whereas, as it's been mentioned before, it's hard to be able to comment directly
2023-05-08 10:16:05 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-05-08 10:16:05 +0200 <ski> (i would also not use as much indentation for the code itself)
2023-05-08 10:16:23 +0200 <Inst_> i wonder if you could upgrade haddock for this
2023-05-08 10:16:37 +0200 <Inst_> or put it into an IDE, i.e, have comments that only exist for the IDE parsing the AST
2023-05-08 10:16:42 +0200cfricke(~cfricke@user/cfricke)
2023-05-08 10:16:58 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-c8bd-37f2-a0dc-5f82.rev.sfr.net)
2023-05-08 10:17:22 +0200 <ski> you're sometimes using `Sieve' infix, sometimes not
2023-05-08 10:17:27 +0200 <jade[m]1> I think you can hook into treesitter for stuff like that
2023-05-08 10:19:52 +0200 <ski> (generally i also don't like using the same name for a data constructor as for a data type)
2023-05-08 10:20:03 +0200zeenk(~zeenk@2a02:2f04:a105:f00::fba) (Remote host closed the connection)
2023-05-08 10:20:19 +0200tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-05-08 10:20:24 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe)
2023-05-08 10:21:40 +0200 <jade[m]1> https://int-index.github.io/posts/haskell-punning :)
2023-05-08 10:22:53 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-08 10:23:18 +0200 <ski> instead of `Set.findMin' and `Set.delete', i think you could use `Set.deleteFindMin'
2023-05-08 10:23:26 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-05-08 10:24:21 +0200freeside(~mengwong@122.11.248.245) (Read error: Connection reset by peer)
2023-05-08 10:24:29 +0200freeside(~mengwong@122.11.248.245)
2023-05-08 10:25:11 +0200 <Inst_> i know, MkSieve
2023-05-08 10:25:13 +0200 <Inst_> idiomatic
2023-05-08 10:25:38 +0200 <Inst_> https://media.discordapp.net/attachments/968989726633779215/1105047812032434266/image.png?width=16…
2023-05-08 10:26:15 +0200 <Inst_> you know what we really need? Not literate Haskell, but Latex Haskell ;)
2023-05-08 10:27:36 +0200 <ski> jade[m]1 : yea, i'm (mostly) okay with the former use, but don't like the latter use (have thought of all those points before)
2023-05-08 10:29:29 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 10:29:45 +0200freeside(~mengwong@122.11.248.245) (Ping timeout: 240 seconds)
2023-05-08 10:32:18 +0200 <jade[m]1> yep, I agree, especially as we (hopefully) move towards dependent types as described in (dependent haskell)[https://gitlab.haskell.org/ghc/ghc/-/wikis/dependent-haskell] there would be thing like `foo :: foreach a. a -> OtherType` in which `a` is also brought into the term namespace
2023-05-08 10:33:10 +0200 <jade[m]1> im amazing at markdown as you can see /s
2023-05-08 10:33:48 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-08 10:36:27 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds)
2023-05-08 10:38:05 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-05-08 10:42:32 +0200 <carbolymer> How do you guys test simple things with hackage libraries? I mean, things like simple json serialization in repl. Do you install a library globally, or do you keep a project with handy dependencies like aeson, or megaparsec somewhere and start repl there?
2023-05-08 10:42:42 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24) (Remote host closed the connection)
2023-05-08 10:44:11 +0200 <kaol> I'm not coming up with the right words for searching for this. What's a String -> String function that would unescape HTML escapes? Like "G&ouml;teborg" to "Göteborg".
2023-05-08 10:45:40 +0200 <[exa]> kaol: decodeHtmlEntities (that's from xml-conduit, other packages might have similar)
2023-05-08 10:45:46 +0200 <probie> carbolymer: I have a "project with handy dependencies"
2023-05-08 10:46:09 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2023-05-08 10:46:21 +0200 <Inst_> https://paste.tomsmeding.com/pqWzI2ib
2023-05-08 10:46:24 +0200 <Inst_> updated code, thanks for the suggestions
2023-05-08 10:46:47 +0200 <Inst_> the deleteFindMin reduced the processing time for the 100_000th prime to 20 seconds from 30
2023-05-08 10:46:51 +0200 <[exa]> Inst_: ascii art >>>>>> anything else
2023-05-08 10:46:54 +0200gmg(~user@user/gehmehgeh)
2023-05-08 10:47:19 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 10:48:13 +0200 <Inst_> I guess it's an interesting direction that hasn't been explored, people say there's really three main Haskell communities, the maintenance guys, who love how Haskell makes maintenance and refactoring a breeze
2023-05-08 10:48:28 +0200 <Inst_> there's the correctness guys, who really want Idris, but lazy, and Haskell's ecosystem
2023-05-08 10:48:41 +0200 <Inst_> there's the type theory guys, who want to push the boundaries of what's possible with types
2023-05-08 10:49:05 +0200 <Inst_> there's actually a fourth community, i.e, the simplicity guys, which is where stuff like Elm comes from
2023-05-08 10:49:37 +0200 <Inst_> we already have declarative GUI via the Elm and JS communities, but FP is declarative data transformation algorithms at its heart
2023-05-08 10:50:19 +0200 <Inst_> the simplicity guys like Haskell for how simple and clean code can be in Haskell, but they're a small minority and I don't think there's much progress in that direction
2023-05-08 10:51:50 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds)
2023-05-08 10:51:56 +0200JScript(~JScript@144.48.39.39) (Ping timeout: 246 seconds)
2023-05-08 10:52:50 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2023-05-08 10:55:29 +0200 <jade[m]1> <Inst_> "there's the type theory guys..." <- i love types
2023-05-08 10:55:40 +0200 <Inst_> sorry for the gendered term
2023-05-08 10:56:07 +0200 <jade[m]1> is guys gendered?
2023-05-08 10:56:15 +0200 <jade[m]1> I always saw it as neutral
2023-05-08 10:56:58 +0200 <jade[m]1> but yeah, types and the boundaries of safety originally drew me towards haskell
2023-05-08 10:58:39 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 11:00:08 +0200aaronv(~aaronv@user/aaronv) (Quit: You have been kicked for being idle)
2023-05-08 11:02:04 +0200 <ski> Inst_ : <https://paste.tomsmeding.com/Dvr4WtJ0>
2023-05-08 11:03:05 +0200michalz(~michalz@185.246.207.221) (Ping timeout: 240 seconds)
2023-05-08 11:03:23 +0200michalz(~michalz@185.246.207.203)
2023-05-08 11:03:31 +0200merijn(~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-05-08 11:03:45 +0200 <ski> jade[m]1 : it's quite often used (both by weremen and by women) in a non-gendered sense (possibly depending on age, and region .. not too sure)
2023-05-08 11:05:41 +0200 <ski> jade[m]1 : "thing like `foo :: foreach a. a -> OtherType` in which `a` is also brought into the term namespace" -- i actually quite dislike the `forall' (here `foreach') bringing `a' into scope in the corresponding defining equations .. it's exactly backwards to what i would expect
2023-05-08 11:07:36 +0200 <jade[m]1> it's outlined here https://gitlab.haskell.org/ghc/ghc/-/wikis/dependent-haskell
2023-05-08 11:08:18 +0200 <jade[m]1> forall does not bring it into the term namespace whereas foreach does
2023-05-08 11:09:07 +0200 <jade[m]1> it's really interesting imo
2023-05-08 11:09:34 +0200 <ski> `forall' does, unfortunately, if you have `ScopedTypeVariables' enabled
2023-05-08 11:10:01 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 11:10:16 +0200 <ski> % :t let id :: forall a. a -> a; id x = x :: a in id
2023-05-08 11:10:16 +0200 <yahb2> let id :: forall a. a -> a; id x = x :: a in id :: a -> a
2023-05-08 11:10:20 +0200 <ski> % :t let id :: a -> a; id x = x :: a in id
2023-05-08 11:10:20 +0200 <yahb2> <interactive>:1:26: error: ; • Couldn't match expected type ‘a2’ with actual type ‘a1’ ; ‘a2’ is a rigid type variable bound by ; an expression type signature: ; forall ...
2023-05-08 11:10:29 +0200 <ski> (this is exactly backwards, to me)
2023-05-08 11:10:57 +0200tomsmedingprefers 'id :: forall a -> a -> a'
2023-05-08 11:11:25 +0200 <tomsmeding> % :t let id :: forall a -> a -> a
2023-05-08 11:11:25 +0200 <yahb2> <no location info>: error: ; not an expression: ‘let id :: forall a -> a -> a’
2023-05-08 11:11:29 +0200 <tomsmeding> % :t let id :: forall a -> a -> a ; id = _
2023-05-08 11:11:29 +0200 <yahb2> <no location info>: error: ; not an expression: ‘let id :: forall a -> a -> a ; id = _’
2023-05-08 11:11:35 +0200 <tomsmeding> % :t let id :: forall a -> a -> a ; id = _ in _
2023-05-08 11:11:35 +0200 <yahb2> <interactive>:1:11: error: ; • Illegal visible, dependent quantification in the type of a term: ; forall a -> a -> a ; (GHC does not yet support this) ; • In the type signatur...
2023-05-08 11:11:49 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-c8bd-37f2-a0dc-5f82.rev.sfr.net) (Remote host closed the connection)
2023-05-08 11:11:49 +0200 <tomsmeding> the parser even supports it already :p
2023-05-08 11:12:29 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-05-08 11:13:03 +0200merijn(~merijn@185.143.104.11)
2023-05-08 11:13:12 +0200 <jade[m]1> ski: but that's still on the type level
2023-05-08 11:14:07 +0200 <ski> % :t let id (x :: a) :: a = x in id -- i'm also missing this
2023-05-08 11:14:07 +0200 <yahb2> <interactive>:1:5: error: Parse error in pattern: id
2023-05-08 11:14:13 +0200 <jade[m]1> term level means you'd be able to write... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/5463f2673567dba9550e7cbb8d4b25a15556…>)
2023-05-08 11:14:22 +0200 <ski> % :t let id (x :: a) = x :: a in id -- while this works
2023-05-08 11:14:22 +0200 <yahb2> let id (x :: a) = x :: a in id -- while this works :: a -> a
2023-05-08 11:14:28 +0200 <jade[m]1> no, wait
2023-05-08 11:14:32 +0200 <jade[m]1> I made an oopsie
2023-05-08 11:14:39 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds)
2023-05-08 11:16:33 +0200jade[m]1sent a code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/09a270e7d57b3fbb6a90a87d1562886cebdb…
2023-05-08 11:17:55 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-05-08 11:18:46 +0200 <jade[m]1> A more practical example from there would be... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/9ebc83656373660ce8102694db1466721f13…>)
2023-05-08 11:19:59 +0200 <ski> % :t let myNot (x :: a) = not x :: a in myNot -- heh, istr SML actually doesn't allow this
2023-05-08 11:19:59 +0200 <yahb2> let myNot (x :: a) = not x :: a in myNot -- heh, istr SML actually doesn't allow this ; :: Bool -> Bool
2023-05-08 11:20:58 +0200 <ski> (OCaml seem to allow it, though)
2023-05-08 11:21:59 +0200 <ski> jade[m]1 : yes. however, i wasn't really talking about type-level versus term-level here, but rather about type signature vs. defining equations
2023-05-08 11:22:32 +0200 <jade[m]1> mhm
2023-05-08 11:23:54 +0200 <ski> (and yea, i've seen `foreach' before)
2023-05-08 11:25:39 +0200titibandit(~titibandi@user/titibandit)
2023-05-08 11:27:10 +0200 <Inst_> ugh, i can't traverse a set
2023-05-08 11:27:50 +0200 <Inst_> that's a bit of an annoying limitation, i want to STRef a set to run my algorithm mutably and see what happens if i don't have to keep on copying the data type
2023-05-08 11:28:47 +0200 <ski> using some mutable version of sets ?
2023-05-08 11:28:51 +0200gurkenglas(~gurkengla@dynamic-046-114-183-044.46.114.pool.telefonica.de)
2023-05-08 11:29:43 +0200 <Inst_> hey, snoyman is still updating this!
2023-05-08 11:29:44 +0200 <Inst_> https://hackage.haskell.org/package/mutable-containers
2023-05-08 11:30:41 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-05-08 11:32:47 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 11:37:01 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-08 11:43:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24)
2023-05-08 11:43:15 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
2023-05-08 11:44:25 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 240 seconds)
2023-05-08 11:47:31 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24) (Ping timeout: 256 seconds)
2023-05-08 11:53:41 +0200JScript(~JScript@1.132.24.18)
2023-05-08 11:53:43 +0200JScript(~JScript@1.132.24.18) (Max SendQ exceeded)
2023-05-08 11:56:11 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 12:05:13 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-05-08 12:16:18 +0200JScript(~JScript@45.248.77.157)
2023-05-08 12:16:23 +0200JScript(~JScript@45.248.77.157) (Max SendQ exceeded)
2023-05-08 12:17:25 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds)
2023-05-08 12:18:30 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 12:19:03 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 12:21:17 +0200JScript(~JScript@45.248.77.157)
2023-05-08 12:21:21 +0200JScript(~JScript@45.248.77.157) (Max SendQ exceeded)
2023-05-08 12:23:08 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-08 12:25:09 +0200__monty__(~toonn@user/toonn)
2023-05-08 12:25:48 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-05-08 12:26:16 +0200JScript(~JScript@45.248.77.157)
2023-05-08 12:26:19 +0200JScript(~JScript@45.248.77.157) (Max SendQ exceeded)
2023-05-08 12:31:07 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 12:34:57 +0200freeside(~mengwong@122.11.212.59)
2023-05-08 12:35:28 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 250 seconds)
2023-05-08 12:37:58 +0200JScript(~JScript@45.248.77.157)
2023-05-08 12:38:02 +0200JScript(~JScript@45.248.77.157) (Max SendQ exceeded)
2023-05-08 12:38:27 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 12:40:28 +0200JScript(~JScript@45.248.77.157)
2023-05-08 12:40:32 +0200JScript(~JScript@45.248.77.157) (Max SendQ exceeded)
2023-05-08 12:41:02 +0200JScript(~JScript@45.248.77.157)
2023-05-08 12:41:06 +0200JScript(~JScript@45.248.77.157) (Max SendQ exceeded)
2023-05-08 12:44:45 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-05-08 12:53:56 +0200JScript(~JScript@45.248.77.157)
2023-05-08 12:54:03 +0200JScript(~JScript@45.248.77.157) (Max SendQ exceeded)
2023-05-08 12:57:03 +0200JScript(~JScript@45.248.77.157)
2023-05-08 12:57:06 +0200JScript(~JScript@45.248.77.157) (Max SendQ exceeded)
2023-05-08 13:00:03 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 13:00:23 +0200Vq(~vq@90-227-195-9-no77.tbcn.telia.com) (Read error: Connection reset by peer)
2023-05-08 13:03:35 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net)
2023-05-08 13:04:40 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 260 seconds)
2023-05-08 13:05:00 +0200Vq(~vq@90-227-195-9-no77.tbcn.telia.com)
2023-05-08 13:10:14 +0200JScript(~JScript@103.137.12.149)
2023-05-08 13:10:21 +0200JScript(~JScript@103.137.12.149) (Max SendQ exceeded)
2023-05-08 13:12:08 +0200JScript(~JScript@103.137.12.149)
2023-05-08 13:12:11 +0200JScript(~JScript@103.137.12.149) (Max SendQ exceeded)
2023-05-08 13:12:51 +0200oo_miguel(~Thunderbi@77.252.47.78) (Ping timeout: 256 seconds)
2023-05-08 13:17:11 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 13:17:31 +0200nate2(~nate@98.45.169.16)
2023-05-08 13:20:45 +0200freeside(~mengwong@122.11.212.59) (Ping timeout: 240 seconds)
2023-05-08 13:21:55 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2023-05-08 13:22:51 +0200nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2023-05-08 13:30:15 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-05-08 13:34:43 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 13:40:50 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 260 seconds)
2023-05-08 13:41:08 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2023-05-08 13:47:37 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 13:47:55 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-05-08 13:48:37 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-08 13:48:50 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 13:49:28 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2023-05-08 13:51:43 +0200jade[m]1uploaded an image: (23KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/XQKlLEZktPCZiMzsedgiNTLD/image.png >
2023-05-08 13:51:43 +0200 <jade[m]1> what the heck is this syntax?
2023-05-08 13:53:00 +0200 <ncf> looks like a clipboard failure on top of a clipboard failure
2023-05-08 13:53:46 +0200 <dminuoso> Or some bizarre LSP lens bug
2023-05-08 13:55:18 +0200 <ski> the context looks a bit weird to me, as well
2023-05-08 13:56:11 +0200jade[m]1uploaded an image: (31KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/BmHnnfVRZtRxwailziCMnbvf/image.png >
2023-05-08 13:56:12 +0200 <jade[m]1> indeed
2023-05-08 13:56:18 +0200 <jade[m]1> the file seems to be too big for LSP
2023-05-08 13:56:26 +0200 <jade[m]1> 5194 lines
2023-05-08 13:56:37 +0200 <dminuoso> What do you mean by "too big"?
2023-05-08 13:56:56 +0200 <jade[m]1> my lsp seems to have issues with large files
2023-05-08 13:57:05 +0200 <jade[m]1> at some point it just stops working properly
2023-05-08 13:58:15 +0200 <ski> what's the line after the last one, in that last, jade[m]1 ?
2023-05-08 13:59:05 +0200 <dminuoso> For what its worth, Ive seen emacs lsp lenses insert very broken fragments.
2023-05-08 13:59:32 +0200 <jade[m]1> I don't use lsp lenses
2023-05-08 13:59:34 +0200 <dminuoso> At times I wish we didnt use raw text for exchanging code with a compiler.
2023-05-08 13:59:50 +0200 <jade[m]1> `
2023-05-08 13:59:51 +0200 <jade[m]1> ski: ```... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/ba18be8323281bf3e52f1a7e2b0ebfce319b…>)
2023-05-08 14:00:50 +0200 <ski> ok, at least not starting with `=', then
2023-05-08 14:02:35 +0200mmhat(~mmh@p200300f1c706687dee086bfffe095315.dip0.t-ipconnect.de)
2023-05-08 14:13:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-05-08 14:32:57 +0200vulfe_(~vulfe@207.229.148.168)
2023-05-08 14:52:05 +0200juri_(~juri@217.138.194.165) (Ping timeout: 240 seconds)
2023-05-08 14:53:36 +0200 <jean-paul[m]> I'm having trouble handling all possible IO exceptions. I want to turn them into some kind of Left. I don't mind losing some details if necessary, though it would be nice to at least be able to get a string representation. I've run into Could not decide (Exception e0) and I'm not sure what to do with it. Here's my current attempt - https://gist.github.com/exarkun/b8cf950c584b8b2d9eeba66fe44bc6b0
2023-05-08 14:54:06 +0200 <merijn> jean-paul[m]: Catch SomeException
2023-05-08 14:54:14 +0200juri_(~juri@84-19-175-187.pool.ovpn.com)
2023-05-08 14:57:42 +0200 <jean-paul[m]> Aha. That works. Thanks. I guess I should try to understand exceptions/SomeException better.
2023-05-08 15:01:34 +0200 <merijn> jean-paul[m]: The paper mentioned at the top of Control.Exception ("An Extensible Dynamically-Typed Hierarchy of Exceptions") is pretty good
2023-05-08 15:01:51 +0200 <merijn> jean-paul[m]: It actually lets you do OO style subclassing of exceptions and catching them
2023-05-08 15:02:06 +0200 <merijn> SomeException being the root exception that catches "everything"
2023-05-08 15:02:37 +0200 <jean-paul[m]> awesome, thank you
2023-05-08 15:11:18 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-05-08 15:12:14 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-05-08 15:24:16 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-08 15:28:08 +0200micro(~micro@user/micro) (Remote host closed the connection)
2023-05-08 15:28:35 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net) (Quit: xff0x)
2023-05-08 15:31:07 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-05-08 15:33:51 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-08 15:34:20 +0200vulfe(~vulfe@207.229.148.168)
2023-05-08 15:34:24 +0200vulfe_(~vulfe@207.229.148.168) (Read error: Connection reset by peer)
2023-05-08 15:37:39 +0200 <yin> i'm using hls on nvim and when performing code actions i notice that the most obvious/useful one is usually the last option on the provived list. is there a logic to this ordering? if so, would there be an easy way to automatically bind a command to choose the last option by default?
2023-05-08 15:38:09 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-08 15:38:09 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-08 15:38:09 +0200wroathe(~wroathe@user/wroathe)
2023-05-08 15:39:12 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-05-08 15:39:26 +0200 <yin> oh maybe this is a question for #haskell-langage-server
2023-05-08 15:39:31 +0200rf(~rf@2605:59c8:179c:f610:3bd2:4ecb:9b16:aa4f)
2023-05-08 15:40:13 +0200micro(~micro@user/micro)
2023-05-08 15:44:00 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2023-05-08 15:46:43 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24)
2023-05-08 15:51:29 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 15:51:30 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24) (Ping timeout: 260 seconds)
2023-05-08 15:56:16 +0200jero98772(~jero98772@2800:484:1d84:9000::2)
2023-05-08 15:56:28 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
2023-05-08 15:58:59 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-08 16:05:40 +0200vulfe(~vulfe@207.229.148.168) (Remote host closed the connection)
2023-05-08 16:06:26 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 16:10:51 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 260 seconds)
2023-05-08 16:12:38 +0200xff0x(~xff0x@2405:6580:b080:900:8bd4:f87d:a79b:d165)
2023-05-08 16:13:09 +0200vulfe(~vulfe@207.229.148.168)
2023-05-08 16:19:42 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-08 16:35:26 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-05-08 17:06:58 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:2d52:c5aa:cfa9:3177) (Quit: WeeChat 2.8)
2023-05-08 17:19:16 +0200nate2(~nate@98.45.169.16)
2023-05-08 17:22:02 +0200 <Axman6> jean-paul[m]: Parallel and Concurrent Programming in Haskell does a food job explaining how exceptions wor, iirc
2023-05-08 17:22:11 +0200 <Axman6> @where pcph
2023-05-08 17:22:11 +0200 <lambdabot> "Parallel and Concurrent Programming in Haskell" by Simon Marlow in 2013 at <http://community.haskell.org/~simonmar/pcph/>,<http://chimera.labs.oreilly.com/books/1230000000929/>,<https://web.archive.
2023-05-08 17:22:11 +0200 <lambdabot> org/web/20180117194842/http://chimera.labs.oreilly.com/books/1230000000929>,<https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/>
2023-05-08 17:24:15 +0200nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2023-05-08 17:26:19 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 17:27:09 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2023-05-08 17:28:50 +0200gurkenglas(~gurkengla@dynamic-046-114-183-044.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2023-05-08 17:29:57 +0200Sgeo(~Sgeo@user/sgeo)
2023-05-08 17:30:58 +0200gurkenglas(~gurkengla@dynamic-046-114-179-106.46.114.pool.telefonica.de)
2023-05-08 17:31:49 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
2023-05-08 17:34:24 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds)
2023-05-08 17:38:27 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-05-08 17:44:03 +0200hugo(znc@verdigris.lysator.liu.se)
2023-05-08 17:44:48 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-05-08 17:46:29 +0200mexpr(~mexpr@user/mexpr) (Quit: leaving)
2023-05-08 17:48:17 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24)
2023-05-08 17:48:32 +0200Inst_Inst
2023-05-08 17:50:55 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-08 17:52:28 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24) (Ping timeout: 240 seconds)
2023-05-08 17:53:25 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24)
2023-05-08 17:53:59 +0200oo_miguel(~Thunderbi@77.252.47.78)
2023-05-08 17:54:27 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net)
2023-05-08 17:55:55 +0200nick4(~nick@wsip-174-78-110-18.pn.at.cox.net)
2023-05-08 18:05:03 +0200Putonlalla(~Putonlall@it-cyan.it.jyu.fi)
2023-05-08 18:08:19 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-08 18:12:46 +0200titibandit(~titibandi@user/titibandit)
2023-05-08 18:18:05 +0200merijn(~merijn@185.143.104.11) (Ping timeout: 240 seconds)
2023-05-08 18:20:17 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2023-05-08 18:26:22 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 18:29:06 +0200talismanick(~user@2601:204:ef80:6c80::a8e2) (Remote host closed the connection)
2023-05-08 18:31:00 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
2023-05-08 18:33:53 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-05-08 18:39:11 +0200vulfe(~vulfe@207.229.148.168) (Remote host closed the connection)
2023-05-08 18:40:58 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-05-08 18:42:44 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 18:43:47 +0200jjb(~jjb@user/jjb) (Ping timeout: 256 seconds)
2023-05-08 18:44:59 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-05-08 18:47:07 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
2023-05-08 18:52:04 +0200cheater_(~Username@user/cheater)
2023-05-08 18:54:05 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-05-08 18:54:57 +0200cheater__(~Username@user/cheater)
2023-05-08 18:54:57 +0200cheater__cheater
2023-05-08 18:58:05 +0200cheater_(~Username@user/cheater) (Ping timeout: 246 seconds)
2023-05-08 19:03:56 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-05-08 19:08:45 +0200chomwitt(~chomwitt@2a02:587:7a1f:b500:f431:9979:9130:4486)
2023-05-08 19:15:54 +0200learner-monad(~ehanneken@user/learner-monad)
2023-05-08 19:19:21 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2023-05-08 19:20:31 +0200vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2023-05-08 19:20:43 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 248 seconds)
2023-05-08 19:22:15 +0200t0ngub1n_mobile(~t0ngub1n_@95-24-68-157.broadband.corbina.ru)
2023-05-08 19:23:53 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection)
2023-05-08 19:42:10 +0200michalz(~michalz@185.246.207.203) (Ping timeout: 268 seconds)
2023-05-08 19:43:14 +0200michalz(~michalz@185.246.207.203)
2023-05-08 19:47:12 +0200cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2023-05-08 19:47:20 +0200titibandit(~titibandi@user/titibandit)
2023-05-08 19:47:49 +0200cheater(~Username@user/cheater)
2023-05-08 19:58:29 +0200mud(~mud@user/kadoban)
2023-05-08 20:02:16 +0200ubert(~Thunderbi@p548c9371.dip0.t-ipconnect.de)
2023-05-08 20:09:07 +0200jero98772(~jero98772@2800:484:1d84:9000::2) (Ping timeout: 265 seconds)
2023-05-08 20:12:35 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-08 20:17:18 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2023-05-08 20:17:41 +0200gensyst(~gensyst@user/gensyst)
2023-05-08 20:18:13 +0200 <gensyst> Do performMajorGC and performMinorGC wait until they complete before continuing?
2023-05-08 20:18:25 +0200 <gensyst> i.e. does GC completely finish
2023-05-08 20:18:31 +0200 <gensyst> or do they run "async" in the background?
2023-05-08 20:18:35 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 246 seconds)
2023-05-08 20:19:49 +0200rlj(~rlj@194-218-34-180.customer.telia.com)
2023-05-08 20:20:32 +0200jero98772(~jero98772@2800:484:1d84:9000::2)
2023-05-08 20:26:15 +0200 <geekosaur> pretty sure they have to complete because the next action would probably allocate memory and block on the GC anyway
2023-05-08 20:26:45 +0200 <geekosaur> s/action/computation
2023-05-08 20:27:37 +0200 <geekosaur> and the main reason to invoke either of those is to free up nursery / heap space for that next computation
2023-05-08 20:28:04 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-05-08 20:29:08 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net)
2023-05-08 20:31:33 +0200n0nesense(~n0nesense@2001:470:69fc:105::3:5697)
2023-05-08 20:33:03 +0200img(~img@user/img)
2023-05-08 20:34:06 +0200 <gensyst> geekosaur, thanks
2023-05-08 20:38:36 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 20:40:14 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de)
2023-05-08 20:42:12 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection)
2023-05-08 20:43:12 +0200jay-invariant(~jay@066-189-100-190.res.spectrum.com)
2023-05-08 20:43:23 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 264 seconds)
2023-05-08 20:46:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24) (Remote host closed the connection)
2023-05-08 20:53:42 +0200gmg(~user@user/gehmehgeh)
2023-05-08 20:54:41 +0200gensyst(~gensyst@user/gensyst) (Quit: Leaving)
2023-05-08 20:58:38 +0200nick4(~nick@wsip-174-78-110-18.pn.at.cox.net) (Ping timeout: 268 seconds)
2023-05-08 20:59:03 +0200iteratee_(~kyle@162.218.222.207) (Read error: Connection reset by peer)
2023-05-08 20:59:18 +0200iteratee(~kyle@162.218.222.207)
2023-05-08 21:04:02 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 21:07:09 +0200titibandit(~titibandi@user/titibandit)
2023-05-08 21:08:16 +0200t0ngub1n_mobile(~t0ngub1n_@95-24-68-157.broadband.corbina.ru) (Quit: Quit)
2023-05-08 21:08:17 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
2023-05-08 21:12:26 +0200n0nesense(~n0nesense@2001:470:69fc:105::3:5697) (Quit: issued !quit command)
2023-05-08 21:19:03 +0200jero98772(~jero98772@2800:484:1d84:9000::2) (Ping timeout: 256 seconds)
2023-05-08 21:20:45 +0200nate2(~nate@98.45.169.16)
2023-05-08 21:25:51 +0200nate2(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2023-05-08 21:26:05 +0200jay-invariant(~jay@066-189-100-190.res.spectrum.com) (Remote host closed the connection)
2023-05-08 21:27:21 +0200jay-invariant(~jay@066-189-100-190.res.spectrum.com)
2023-05-08 21:29:06 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net)
2023-05-08 21:30:24 +0200jero98772(~jero98772@2800:484:1d84:9000::2)
2023-05-08 21:33:47 +0200chomwitt(~chomwitt@2a02:587:7a1f:b500:f431:9979:9130:4486) (Ping timeout: 256 seconds)
2023-05-08 21:35:36 +0200jay-invariant(~jay@066-189-100-190.res.spectrum.com) (Remote host closed the connection)
2023-05-08 21:36:15 +0200jay-invariant(~jay@066-189-100-190.res.spectrum.com)
2023-05-08 21:36:53 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Remote host closed the connection)
2023-05-08 21:37:31 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2023-05-08 21:37:38 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Remote host closed the connection)
2023-05-08 21:37:50 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2023-05-08 21:38:05 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection)
2023-05-08 21:43:31 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net)
2023-05-08 21:45:15 +0200jay-invariant(~jay@066-189-100-190.res.spectrum.com) (Remote host closed the connection)
2023-05-08 21:45:48 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 240 seconds)
2023-05-08 21:46:47 +0200jay-invariant(~jay@066-189-100-190.res.spectrum.com)
2023-05-08 21:47:26 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24)
2023-05-08 21:47:58 +0200mjrosenb(7U2UjFMg@WHELK.CLUB.CC.CMU.EDU)
2023-05-08 21:50:48 +0200cyphase(~cyphase@user/cyphase)
2023-05-08 21:52:00 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:cc86:9d0c:407:3c24) (Ping timeout: 260 seconds)
2023-05-08 21:55:30 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-05-08 21:55:58 +0200 <drlkf_> how do you properly implement an 'Enum' and 'Bounded' type such that '[minBound..]' does not call 'succ' on a 'maxBound' value ?
2023-05-08 21:56:36 +0200 <geekosaur> > [minBound..] :: [Bool]
2023-05-08 21:56:37 +0200 <lambdabot> [False,True]
2023-05-08 21:56:58 +0200 <geekosaur> if you derive both Enum and Bounded then that should just work
2023-05-08 21:56:58 +0200 <mauke> @undo [minBound..]
2023-05-08 21:56:58 +0200 <lambdabot> [minBound ..]
2023-05-08 21:57:18 +0200 <drlkf_> that's easy when deriving 'Enum' and 'Bounded', but i can't figure out how to do it with custom implementations even when my 'Enum' and 'Bounded' instances are correct
2023-05-08 21:57:30 +0200 <geekosaur> you could use -ddump-deriv to see how ghc does it
2023-05-08 21:57:42 +0200 <drlkf_> good idea, ill try that
2023-05-08 21:58:08 +0200 <geekosaur> I don't know if there's a specified way to do it, just a specification that it should work
2023-05-08 21:58:51 +0200 <jade[m]1> I would assume they just override enumFrom and friends
2023-05-08 21:59:01 +0200 <mauke> yeah
2023-05-08 21:59:09 +0200 <mauke> enumFrom is a method of Enum
2023-05-08 21:59:14 +0200 <drlkf_> i've been struggling with a data type that has correct 'Enum' and 'Bounded' and somehow '[minBound ..]' produces a runtime error while '[minBound .. maxBound]' works fine
2023-05-08 21:59:16 +0200 <jade[m]1> and the custom implementation can make sure that it "does it right"
2023-05-08 21:59:49 +0200 <geekosaur> does the Enum instance know about the Bounded instance? it's supposed to if it exists
2023-05-08 22:00:07 +0200 <drlkf_> how do i know ?
2023-05-08 22:00:25 +0200 <drlkf_> they are defined sequentially in the same file so i assume it does
2023-05-08 22:00:47 +0200 <jade[m]1> does it error if you use minBound :: YourType in the instance?
2023-05-08 22:00:56 +0200 <mauke> what does your enumFrom look like?
2023-05-08 22:01:37 +0200 <geekosaur> actually the Report does specify. see https://paste.tomsmeding.com/ihUKBJiV
2023-05-08 22:02:01 +0200 <geekosaur> it gives a sample Enum specification for a type which has both Enum and Bounded
2023-05-08 22:02:56 +0200 <geekosaur> cf. 6.3.4 of the Report
2023-05-08 22:05:48 +0200 <drlkf_> ah, i see. i have only defined 'toEnum' and 'fromEnum' since it was minimal required definition, but '[minBound ..]' relies on 'enumFrom', correct?
2023-05-08 22:06:01 +0200n0nesense86(~n0nesense@91.98.210.222)
2023-05-08 22:06:08 +0200 <geekosaur> it is enumFrom
2023-05-08 22:06:25 +0200n0nesense86(~n0nesense@91.98.210.222) (Client Quit)
2023-05-08 22:06:30 +0200 <drlkf_> that explains everything. thanks
2023-05-08 22:06:38 +0200 <jade[m]1> s u g a r
2023-05-08 22:06:41 +0200 <geekosaur> the .. forms are syntax sugar
2023-05-08 22:06:51 +0200 <jade[m]1> system of a down starts playing
2023-05-08 22:06:59 +0200 <mauke> sugr?
2023-05-08 22:07:15 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-7566-04fc-ae15-ab7d.rev.sfr.net)
2023-05-08 22:08:12 +0200n0nesense86(~n0nesense@91.98.210.222)
2023-05-08 22:08:34 +0200n0nesense86(~n0nesense@91.98.210.222) (Client Quit)
2023-05-08 22:09:25 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 22:10:11 +0200rlj(~rlj@194-218-34-180.customer.telia.com) (Quit: Client closed)
2023-05-08 22:11:18 +0200n0nesense11(~n0nesense@91.98.210.222)
2023-05-08 22:12:35 +0200n0nesense11Alphred
2023-05-08 22:13:04 +0200Alphred(~n0nesense@91.98.210.222) (Client Quit)
2023-05-08 22:13:52 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
2023-05-08 22:15:45 +0200n0nesense75(~n0nesense@91.98.210.222)
2023-05-08 22:15:54 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-7566-04fc-ae15-ab7d.rev.sfr.net) (Remote host closed the connection)
2023-05-08 22:16:11 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-7566-04fc-ae15-ab7d.rev.sfr.net)
2023-05-08 22:16:16 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-7566-04fc-ae15-ab7d.rev.sfr.net) (Remote host closed the connection)
2023-05-08 22:16:52 +0200nick4(~nick@2600:8807:9103:b700:d8e6:a031:6c5c:b040)
2023-05-08 22:16:59 +0200n0nesense75(~n0nesense@91.98.210.222) (Client Quit)
2023-05-08 22:17:13 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-7566-04fc-ae15-ab7d.rev.sfr.net)
2023-05-08 22:18:13 +0200 <ncf> i just realised that Reader r is the centre of State r
2023-05-08 22:18:59 +0200 <Rembane> How?
2023-05-08 22:19:05 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-7566-04fc-ae15-ab7d.rev.sfr.net) (Remote host closed the connection)
2023-05-08 22:19:07 +0200 <geekosaur> yes. and I'm not the only one who wishes State had an equivalent of `local`…
2023-05-08 22:19:50 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-7566-04fc-ae15-ab7d.rev.sfr.net)
2023-05-08 22:20:18 +0200 <ncf> Reader r a consists of the elements m of State r a that commute with all other n : State r a, in the sense that (do x ← n; y ← m; f x y) == (do y ← m; x ← n; f x y)
2023-05-08 22:20:55 +0200 <Rembane> That's cool! Thank you!
2023-05-08 22:21:13 +0200 <ncf> which looks like the definition of the centre of a group/monoid/whatever, and is in fact exactly the definition of the centre of a monad as found in https://arxiv.org/pdf/2207.09190.pdf
2023-05-08 22:21:20 +0200nick4(~nick@2600:8807:9103:b700:d8e6:a031:6c5c:b040) (Ping timeout: 248 seconds)
2023-05-08 22:21:35 +0200 <ncf> (well, "exactly" modulo translation of Set nonsense into Hask nonsense)
2023-05-08 22:25:04 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-05-08 22:27:18 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-7566-04fc-ae15-ab7d.rev.sfr.net) (Ping timeout: 245 seconds)
2023-05-08 22:29:19 +0200jero98772(~jero98772@2800:484:1d84:9000::2) (Ping timeout: 256 seconds)
2023-05-08 22:34:57 +0200freeside(~mengwong@103.252.202.85)
2023-05-08 22:37:15 +0200goodtimeswithtom(~goodtimes@2600:1700:4010:6d20:6ced:4b7c:e16e:c74c)
2023-05-08 22:38:46 +0200goodtimeswithtom(~goodtimes@2600:1700:4010:6d20:6ced:4b7c:e16e:c74c) (Client Quit)
2023-05-08 22:39:08 +0200freeside(~mengwong@103.252.202.85) (Ping timeout: 240 seconds)
2023-05-08 22:39:09 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-08 22:40:28 +0200jero98772(~jero98772@2800:484:1d84:9000::2)
2023-05-08 22:41:18 +0200tomtestingacct(~tom@104-191-145-180.lightspeed.dybhfl.sbcglobal.net)
2023-05-08 22:45:31 +0200Sciencentistguy0(~sciencent@hacksoc/ordinary-member)
2023-05-08 22:48:01 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 256 seconds)
2023-05-08 22:48:02 +0200Sciencentistguy0Sciencentistguy
2023-05-08 22:49:38 +0200ubert(~Thunderbi@p548c9371.dip0.t-ipconnect.de) (Quit: ubert)
2023-05-08 22:52:49 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-05-08 22:54:16 +0200tomtestingacct(~tom@104-191-145-180.lightspeed.dybhfl.sbcglobal.net) (Quit: Lost terminal)
2023-05-08 22:55:42 +0200stevenxl(uid133530@id-133530.uxbridge.irccloud.com)
2023-05-08 22:58:05 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-659e-5ae7-d859-4995.rev.sfr.net)
2023-05-08 23:00:22 +0200tanyastopguy(~username@2600:1700:4010:6d20:3aea:f984:552:57de)
2023-05-08 23:05:16 +0200goodtimeswithtom(~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de)
2023-05-08 23:05:26 +0200jay-invariant(~jay@066-189-100-190.res.spectrum.com) (Quit: Leaving)
2023-05-08 23:05:35 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
2023-05-08 23:05:51 +0200goodtimeswithtom(~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de) (Client Quit)
2023-05-08 23:06:21 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-659e-5ae7-d859-4995.rev.sfr.net) (Quit: WeeChat 3.8)
2023-05-08 23:09:37 +0200byte(~byte@user/byte) (Read error: Connection reset by peer)
2023-05-08 23:12:20 +0200byte(~byte@user/byte)
2023-05-08 23:12:45 +0200Feuermagier_(~Feuermagi@user/feuermagier)
2023-05-08 23:13:59 +0200chomwitt(~chomwitt@2a02:587:7a14:af00:9080:176a:ae9d:81cc)
2023-05-08 23:14:27 +0200Feuermagier_(~Feuermagi@user/feuermagier) (Client Quit)
2023-05-08 23:15:13 +0200Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 256 seconds)
2023-05-08 23:16:21 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-08 23:20:38 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-18c4-e25f-ca07-3bb1.rev.sfr.net)
2023-05-08 23:24:26 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-18c4-e25f-ca07-3bb1.rev.sfr.net)
2023-05-08 23:30:44 +0200trev(~trev@user/trev) (Quit: trev)
2023-05-08 23:31:07 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9)
2023-05-08 23:35:37 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 256 seconds)
2023-05-08 23:39:15 +0200jero98772(~jero98772@2800:484:1d84:9000::2) (Ping timeout: 256 seconds)
2023-05-08 23:48:08 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-05-08 23:50:20 +0200michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2023-05-08 23:50:33 +0200jero98772(~jero98772@2800:484:1d84:9000::2)