2023/06/08

2023-06-08 00:01:18 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 00:03:18 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2881:d3bd:5594:8455) (Remote host closed the connection)
2023-06-08 00:06:49 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-06-08 00:22:59 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2023-06-08 00:25:05 +0200andreas303(andreas303@is.drunk.and.ready-to.party)
2023-06-08 00:28:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 00:30:12 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-06-08 00:31:01 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 00:35:00 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-08 00:36:07 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2881:d3bd:5594:8455)
2023-06-08 00:38:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 00:38:44 +0200machinedgod(~machinedg@93-136-37-239.adsl.net.t-com.hr) (Ping timeout: 246 seconds)
2023-06-08 00:39:23 +0200vulpine(xfnw@tilde.team) (Quit: Connection reset by purr)
2023-06-08 00:40:06 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 00:44:40 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-08 00:46:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 00:47:07 +0200xff0x_(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds)
2023-06-08 00:49:08 +0200xff0x_(~xff0x@178.255.149.135)
2023-06-08 00:49:24 +0200andreas303(andreas303@is.drunk.and.ready-to.party) (Ping timeout: 250 seconds)
2023-06-08 00:52:56 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 00:55:05 +0200vulpine(xfnw@tilde.team)
2023-06-08 00:58:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 01:00:59 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 01:01:22 +0200Sgeo(~Sgeo@user/sgeo)
2023-06-08 01:02:09 +0200jargon(~jargon@184.101.71.62)
2023-06-08 01:04:46 +0200xff0x_(~xff0x@178.255.149.135) (Ping timeout: 265 seconds)
2023-06-08 01:06:24 +0200xff0x_(~xff0x@2405:6580:b080:900:7473:54f9:1e2f:2bc)
2023-06-08 01:09:12 +0200mauke_(~mauke@user/mauke)
2023-06-08 01:09:27 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl)
2023-06-08 01:10:45 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-06-08 01:11:13 +0200mauke(~mauke@user/mauke) (Ping timeout: 256 seconds)
2023-06-08 01:11:13 +0200mauke_mauke
2023-06-08 01:11:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 01:13:03 +0200gurkenglas(~user@46.114.176.88) (Read error: Connection reset by peer)
2023-06-08 01:15:04 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 01:15:28 +0200andreas303(andreas303@is.drunk.and.ready-to.party)
2023-06-08 01:20:23 +0200acidjnk(~acidjnk@p200300d6e7072f24f1c50d012e792cf9.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-06-08 01:20:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 01:24:56 +0200zeenk(~zeenk@2a02:2f04:a106:3c00::7fe) (Quit: Konversation terminated!)
2023-06-08 01:28:07 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection)
2023-06-08 01:34:22 +0200hexology(~hexology@user/hexology) (Quit: hex on you ...)
2023-06-08 01:34:43 +0200hexology(~hexology@user/hexology)
2023-06-08 01:36:40 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 01:36:46 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-06-08 01:42:46 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2023-06-08 01:43:01 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-06-08 01:47:29 +0200blackpill0w(~blackpill@user/blackpill0w)
2023-06-08 01:50:23 +0200Albina_Pavlovna(~Albina_Pa@2600:4040:9526:fe00:c14:24f5:954f:f0a3)
2023-06-08 01:56:40 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-06-08 01:57:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 01:58:20 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 02:03:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 02:04:30 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 02:05:39 +0200Lycurgus(~juan@user/Lycurgus)
2023-06-08 02:07:08 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-06-08 02:09:01 +0200mechap(~mechap@user/mechap) (Ping timeout: 256 seconds)
2023-06-08 02:11:51 +0200mechap(~mechap@user/mechap)
2023-06-08 02:12:16 +0200FeuermagierGuest5221
2023-06-08 02:12:17 +0200Feuermagier_(~Feuermagi@user/feuermagier)
2023-06-08 02:12:17 +0200Guest5221(~Feuermagi@user/feuermagier) (Killed (mercury.libera.chat (Nickname regained by services)))
2023-06-08 02:12:17 +0200Feuermagier_Feuermagier
2023-06-08 02:12:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 02:15:58 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 02:16:01 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-06-08 02:20:32 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-06-08 02:21:37 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-06-08 02:21:56 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-06-08 02:26:37 +0200Square(~Square@user/square) (Ping timeout: 240 seconds)
2023-06-08 02:27:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 02:31:11 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 02:37:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 02:38:39 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 02:42:03 +0200 <Inst> nice, Crytonite finally got an authorized fork
2023-06-08 02:42:43 +0200 <geekosaur> which has broken a big chunk of hackage…
2023-06-08 02:43:09 +0200 <Axman6> yeah, this has not been well handled
2023-06-08 02:44:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 02:46:07 +0200 <EvanR> even worse, they misspelled Cryptonite
2023-06-08 02:46:27 +0200 <Axman6> so has basically every single project that depends on wai just been broken?
2023-06-08 02:46:54 +0200 <geekosaur> afaict yes
2023-06-08 02:47:08 +0200 <geekosaur> been hearing a lot of wailing on the subject
2023-06-08 02:47:22 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 02:55:42 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-06-08 02:55:42 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-06-08 02:55:42 +0200wroathe(~wroathe@user/wroathe)
2023-06-08 02:55:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 02:59:07 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 02:59:26 +0200phma(phma@2001:5b0:2143:8e68:6bbc:8a93:7b53:3876) (Read error: Connection reset by peer)
2023-06-08 02:59:52 +0200phma(phma@2001:5b0:2143:8e68:4a0a:5813:1bab:50e7)
2023-06-08 03:00:11 +0200drdo0(~drdo@bl8-153-185.dsl.telepac.pt)
2023-06-08 03:02:26 +0200drdo(~drdo@bl8-153-185.dsl.telepac.pt) (Ping timeout: 268 seconds)
2023-06-08 03:02:26 +0200drdo0drdo
2023-06-08 03:03:27 +0200 <sm> it sounds bad, but this is what stackage or cabal freeze files are for
2023-06-08 03:04:16 +0200 <EvanR> problem with freezing is your numbers don't go up
2023-06-08 03:04:49 +0200Albina_Pavlovna(~Albina_Pa@2600:4040:9526:fe00:c14:24f5:954f:f0a3) (Quit: bb)
2023-06-08 03:04:54 +0200 <sm> make a new freeze every day. With cron. :)
2023-06-08 03:05:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 03:05:44 +0200 <jackdk> Is there a migration guide for maintainers? My current instinct is to make a `crypton` flag which defaults to true, but I don't know if that's right
2023-06-08 03:06:30 +0200 <EvanR> the real problem is the discrete jumps in versions. If development was smooth and continuous, this sudden breakage would be impossible
2023-06-08 03:06:32 +0200 <sm> there must be at least an issue by now
2023-06-08 03:07:43 +0200 <sm> EvanR, oh interesting.. how do bounds work then ? "more base.. even more containers.. absolutely very very little of aeson.. " ?
2023-06-08 03:08:39 +0200 <Axman6> jackdk: that feels like abetter solution to the one I just sent to you elsewhere :P probably a good idea to default to crypton... but it also depends on your deps doing the same or there'll be conflicts in imports
2023-06-08 03:08:50 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 03:10:12 +0200 <sm> EvanR: or.. we are all inside one world smalltalk image ?
2023-06-08 03:10:45 +0200 <jackdk> I think my packages only do a little bit of cryptonite directly for signing; not sure what happens if I get http-conduit atop cryptonite vs http-conduit atop crypton
2023-06-08 03:10:45 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-06-08 03:11:07 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-06-08 03:11:35 +0200 <EvanR> sm, the second one, if nothing ever changes ever, it's smooth and continuous by technicality
2023-06-08 03:12:33 +0200 <sm> what could possible go wrong. I like it
2023-06-08 03:14:07 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
2023-06-08 03:16:53 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-06-08 03:18:56 +0200oo_miguel(~Thunderbi@77.252.47.84) (Ping timeout: 248 seconds)
2023-06-08 03:20:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 03:23:52 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 03:24:10 +0200nate2(~nate@98.45.169.16)
2023-06-08 03:28:57 +0200nate2(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2023-06-08 03:31:01 +0200xff0x_(~xff0x@2405:6580:b080:900:7473:54f9:1e2f:2bc) (Ping timeout: 240 seconds)
2023-06-08 03:31:07 +0200Nosrep(~Nosrep@user/nosrep) (Remote host closed the connection)
2023-06-08 03:31:25 +0200Nosrep(~Nosrep@user/nosrep)
2023-06-08 03:38:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 03:39:46 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl)
2023-06-08 03:41:52 +0200y04nn(~username@2a03:1b20:5:f011::aaae) (Ping timeout: 250 seconds)
2023-06-08 03:45:55 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2023-06-08 03:46:19 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 03:54:32 +0200 <statusbot9> Maintenance update: Upgrade starting shortly. -- http://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/648134c1ac57b006d76b298e
2023-06-08 03:55:04 +0200 <Axman6> I didn't know we got those notifications in here...
2023-06-08 03:55:26 +0200 <pavonia> They are very rare
2023-06-08 03:57:05 +0200 <EvanR> if you can't observe cryptonite breakage because hackage is down, it's morally not broken
2023-06-08 03:59:21 +0200 <monochrom> :)
2023-06-08 04:00:22 +0200 <Axman6> _IF_ hackage returns, there will be many exceptions, but otherwise, the curry-howard correspondence's function arrow saves us yet again
2023-06-08 04:00:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 04:02:06 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 04:05:19 +0200 <statusbot9> Maintenance update: Hackage has been upgraded and is back online. -- http://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/648134c1ac57b006d76b298e
2023-06-08 04:05:35 +0200 <Axman6> oh no D:
2023-06-08 04:05:49 +0200 <Axman6> We're gonna need superman's help!
2023-06-08 04:06:00 +0200CalculusCats(NyaaTheKit@user/calculuscat) (Quit: Meow Meow Meow Meow Meow Meow Meow Meow)
2023-06-08 04:07:59 +0200CalculusCats(NyaaTheKit@user/calculuscat)
2023-06-08 04:08:15 +0200 <sclv> what's the breakage?
2023-06-08 04:08:19 +0200 <sclv> with crypton?
2023-06-08 04:08:27 +0200 <sclv> it looks like wai did something goofy, but now it fixed that
2023-06-08 04:10:44 +0200xff0x_(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-06-08 04:11:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 04:14:56 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 04:17:13 +0200nate2(~nate@98.45.169.16)
2023-06-08 04:20:23 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-06-08 04:20:23 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-06-08 04:20:23 +0200finn_elijaFinnElija
2023-06-08 04:28:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 04:29:18 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-06-08 04:32:01 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 04:33:26 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
2023-06-08 04:33:34 +0200[_][itchyjunk]
2023-06-08 04:34:05 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 240 seconds)
2023-06-08 04:34:37 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:11c4:bb75:150b:3612) (Remote host closed the connection)
2023-06-08 04:35:53 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:11c4:bb75:150b:3612)
2023-06-08 04:38:28 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-06-08 04:39:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 04:43:09 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 04:47:37 +0200tomboy64(~tomboy64@user/tomboy64)
2023-06-08 04:48:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 04:49:45 +0200td_(~td@i5387091A.versanet.de) (Ping timeout: 240 seconds)
2023-06-08 04:51:39 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 04:51:46 +0200td_(~td@i53870909.versanet.de)
2023-06-08 04:54:13 +0200vglfr(~vglfr@2a0d:3344:140c:2810:a8ed:895f:3485:d7a6) (Ping timeout: 250 seconds)
2023-06-08 04:54:31 +0200vglfr(~vglfr@cli-188-239-233-89.bbn.slav.dn.ua)
2023-06-08 04:54:50 +0200blackpill0w(~blackpill@user/blackpill0w) (Quit: WeeChat 3.8)
2023-06-08 04:57:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 04:57:53 +0200vandita(~vandit@178-164-188-17.pool.digikabel.hu) (Ping timeout: 256 seconds)
2023-06-08 04:59:20 +0200vandita(~vandit@92-249-185-139.pool.digikabel.hu)
2023-06-08 05:00:49 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 05:01:39 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1) (Remote host closed the connection)
2023-06-08 05:08:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 05:09:00 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 05:11:07 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
2023-06-08 05:18:51 +0200nate2(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2023-06-08 05:22:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 05:24:33 +0200byte(~byte@user/byte) (Ping timeout: 250 seconds)
2023-06-08 05:25:58 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 05:26:09 +0200hugo(znc@verdigris.lysator.liu.se)
2023-06-08 05:32:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 05:34:09 +0200 <sm> upgrades! yay! \o/
2023-06-08 05:34:34 +0200 <sm> secret ones
2023-06-08 05:35:54 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 05:36:39 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 05:42:19 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl)
2023-06-08 05:43:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 05:45:23 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 05:46:11 +0200 <albet70> is that all callCC calling can transform to CPS?
2023-06-08 05:52:51 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 256 seconds)
2023-06-08 05:55:40 +0200chromoblob(~user@37.113.158.8)
2023-06-08 05:56:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 06:00:05 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 240 seconds)
2023-06-08 06:04:09 +0200 <Axman6> albet70: I'm not sure I understand the question
2023-06-08 06:08:26 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 06:09:34 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-06-08 06:09:45 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2023-06-08 06:15:37 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-06-08 06:16:08 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2023-06-08 06:19:09 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 06:21:04 +0200chromoblob(~user@37.113.158.8)
2023-06-08 06:24:05 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 268 seconds)
2023-06-08 06:25:56 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 268 seconds)
2023-06-08 06:26:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 06:28:23 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 06:33:46 +0200lortabac(~lortabac@46-253-188-2.dynamic.monzoon.net)
2023-06-08 06:36:51 +0200byte(~byte@user/byte)
2023-06-08 06:38:21 +0200zxrom_(~zxrom@mm-73-23-212-37.vitebsk.dynamic.pppoe.byfly.by)
2023-06-08 06:40:10 +0200zxrom(~zxrom@mm-62-27-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 265 seconds)
2023-06-08 06:41:55 +0200byte`(~byte@user/byte)
2023-06-08 06:42:08 +0200byte(~byte@user/byte) (Ping timeout: 265 seconds)
2023-06-08 06:42:08 +0200byte`byte
2023-06-08 06:52:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 06:56:06 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 07:00:09 +0200 <dibblego> @src (<=<)
2023-06-08 07:00:09 +0200 <lambdabot> Source not found. Wrong! You cheating scum!
2023-06-08 07:00:15 +0200 <dibblego> @src (Control.Monad.<=<)
2023-06-08 07:00:15 +0200 <lambdabot> Source not found. I can't hear you -- I'm using the scrambler.
2023-06-08 07:02:41 +0200 <EvanR> (<=<) = flip (>=>)
2023-06-08 07:02:48 +0200trev(~trev@user/trev)
2023-06-08 07:04:15 +0200lortabac(~lortabac@46-253-188-2.dynamic.monzoon.net) (Ping timeout: 256 seconds)
2023-06-08 07:11:18 +0200mbuf(~Shakthi@49.207.178.186)
2023-06-08 07:14:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 07:14:33 +0200dcoutts(~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f)
2023-06-08 07:15:46 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 07:22:27 +0200Pickchea(~private@user/pickchea)
2023-06-08 07:22:46 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-06-08 07:22:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 07:25:54 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 07:26:16 +0200trillp(~trillp@69.233.98.238)
2023-06-08 07:27:42 +0200lortabac(~lortabac@46-253-188-2.dynamic.monzoon.net)
2023-06-08 07:28:59 +0200shapr(~user@2600:1700:c640:3100:65fd:cc0d:69b7:c4ce) (Ping timeout: 265 seconds)
2023-06-08 07:31:19 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-08 07:33:52 +0200lortabac(~lortabac@46-253-188-2.dynamic.monzoon.net) (Quit: WeeChat 2.8)
2023-06-08 07:35:24 +0200mixfix41(~sdeny9ee@user/mixfix41)
2023-06-08 07:36:44 +0200jargon(~jargon@184.101.71.62) (Remote host closed the connection)
2023-06-08 07:42:14 +0200bgs(~bgs@212.85.160.171)
2023-06-08 07:42:32 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2023-06-08 07:44:16 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-06-08 07:54:10 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-06-08 07:54:45 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-06-08 07:55:41 +0200 <dminuoso> albet70: Well yes, all that functions do is map input to some output. In case of ContT that output happens to be something involving continuations.
2023-06-08 07:55:49 +0200 <dminuoso> But that's really just an implementation detail.
2023-06-08 07:56:21 +0200 <dminuoso> It's sort of like saying "does if ... then ... else really just transform to jnz?"
2023-06-08 07:56:48 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2023-06-08 08:12:33 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-06-08 08:13:34 +0200irfan(~irfan@user/irfan)
2023-06-08 08:14:56 +0200zxrom_(~zxrom@mm-73-23-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 265 seconds)
2023-06-08 08:15:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 08:17:15 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-06-08 08:20:15 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 08:24:05 +0200trillp(~trillp@69.233.98.238) ()
2023-06-08 08:24:37 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
2023-06-08 08:25:08 +0200dcoutts(~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) (Ping timeout: 240 seconds)
2023-06-08 08:26:08 +0200zxrom_(~zxrom@mm-73-23-212-37.vitebsk.dynamic.pppoe.byfly.by)
2023-06-08 08:27:00 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 08:29:35 +0200dcoutts(~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f)
2023-06-08 08:35:44 +0200chomwitt(~chomwitt@2a02:587:7a17:7500:1ac0:4dff:fedb:a3f1)
2023-06-08 08:36:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 08:36:41 +0200zxrom__(~zxrom@mm-247-20-212-37.vitebsk.dynamic.pppoe.byfly.by)
2023-06-08 08:38:25 +0200zxrom_(~zxrom@mm-73-23-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 240 seconds)
2023-06-08 08:39:55 +0200acidjnk(~acidjnk@p200300d6e7072f01d1c821db9a6d9801.dip0.t-ipconnect.de)
2023-06-08 08:39:59 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 08:40:40 +0200zxrom_(~zxrom@mm-193-34-212-37.vitebsk.dynamic.pppoe.byfly.by)
2023-06-08 08:42:27 +0200zxrom__(~zxrom@mm-247-20-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 265 seconds)
2023-06-08 08:43:48 +0200bgs(~bgs@212.85.160.171) (Remote host closed the connection)
2023-06-08 08:44:10 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-06-08 08:46:25 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-06-08 08:46:56 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
2023-06-08 08:47:41 +0200zxrom__(~zxrom@mm-219-30-212-37.vitebsk.dynamic.pppoe.byfly.by)
2023-06-08 08:49:42 +0200zxrom_(~zxrom@mm-193-34-212-37.vitebsk.dynamic.pppoe.byfly.by) (Ping timeout: 265 seconds)
2023-06-08 08:52:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 08:55:27 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 08:56:45 +0200zxrom__(~zxrom@mm-219-30-212-37.vitebsk.dynamic.pppoe.byfly.by) (Remote host closed the connection)
2023-06-08 08:59:22 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 265 seconds)
2023-06-08 09:00:15 +0200fendor(~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a)
2023-06-08 09:02:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 09:04:41 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.au)
2023-06-08 09:04:41 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.au) (Changing host)
2023-06-08 09:04:41 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-06-08 09:05:22 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 09:06:20 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-08 09:11:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 09:11:55 +0200AndreiDuma(~textual@2001:620:130:6092:983c:926a:46f2:aa7d)
2023-06-08 09:15:07 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 09:16:14 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-06-08 09:16:16 +0200AndreiDuma(~textual@2001:620:130:6092:983c:926a:46f2:aa7d) (Ping timeout: 248 seconds)
2023-06-08 09:16:43 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2023-06-08 09:21:29 +0200zeenk(~zeenk@2a02:2f04:a106:3c00::7fe)
2023-06-08 09:23:02 +0200mheinzel_(~mheinzel@2001:620:130:6092:360c:98ab:31d9:55ac)
2023-06-08 09:25:12 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 09:28:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 09:30:27 +0200acidjnk(~acidjnk@p200300d6e7072f01d1c821db9a6d9801.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-06-08 09:31:01 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 256 seconds)
2023-06-08 09:32:13 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 09:33:01 +0200gmg(~user@user/gehmehgeh)
2023-06-08 09:34:51 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-b9db-66de-a2df-2e68.rev.sfr.net)
2023-06-08 09:35:50 +0200vandita(~vandit@92-249-185-139.pool.digikabel.hu) (Read error: Connection reset by peer)
2023-06-08 09:38:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 09:39:20 +0200vandita(~vandit@92-249-182-124.pool.digikabel.hu)
2023-06-08 09:40:05 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 09:41:14 +0200acidjnk(~acidjnk@p200300d6e7072f01d1c821db9a6d9801.dip0.t-ipconnect.de)
2023-06-08 09:42:28 +0200hisa382(~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
2023-06-08 09:45:07 +0200hisa38(~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 268 seconds)
2023-06-08 09:45:07 +0200hisa382hisa38
2023-06-08 09:48:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 09:49:11 +0200chromoblob(~user@37.113.158.8)
2023-06-08 09:49:26 +0200oo_miguel(~Thunderbi@77.252.47.84)
2023-06-08 09:51:49 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 09:52:40 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-06-08 09:55:03 +0200gurkenglas(~user@dynamic-046-114-180-095.46.114.pool.telefonica.de)
2023-06-08 09:55:54 +0200__monty__(~toonn@user/toonn)
2023-06-08 09:57:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 09:58:49 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-b9db-66de-a2df-2e68.rev.sfr.net) (Remote host closed the connection)
2023-06-08 10:00:09 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl)
2023-06-08 10:03:36 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 10:03:45 +0200mheinzel_(~mheinzel@2001:620:130:6092:360c:98ab:31d9:55ac) (Remote host closed the connection)
2023-06-08 10:04:02 +0200mheinzel_(~mheinzel@2001:620:130:6092:20d7:49e:2182:3023)
2023-06-08 10:06:38 +0200Square(~Square@user/square)
2023-06-08 10:07:32 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2881:d3bd:5594:8455) (Remote host closed the connection)
2023-06-08 10:09:59 +0200nilradical(~nilradica@user/naso)
2023-06-08 10:14:46 +0200mheinzel_(~mheinzel@2001:620:130:6092:20d7:49e:2182:3023) (Ping timeout: 265 seconds)
2023-06-08 10:16:30 +0200mheinzel_(~mheinzel@2001:620:130:6092:7ce4:c2da:badf:bc1e)
2023-06-08 10:16:46 +0200machinedgod(~machinedg@93-138-40-51.adsl.net.t-com.hr)
2023-06-08 10:18:31 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-06-08 10:20:08 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-06-08 10:21:28 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-06-08 10:23:22 +0200mei(~mei@user/mei)
2023-06-08 10:25:44 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 10:26:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 10:28:29 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 10:29:33 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-06-08 10:31:28 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 248 seconds)
2023-06-08 10:35:37 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-06-08 10:36:45 +0200chele(~chele@user/chele)
2023-06-08 10:41:23 +0200mheinzel_(~mheinzel@2001:620:130:6092:7ce4:c2da:badf:bc1e) (Ping timeout: 265 seconds)
2023-06-08 10:41:26 +0200oo_miguel(~Thunderbi@77.252.47.84) (Ping timeout: 246 seconds)
2023-06-08 10:42:29 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-b9db-66de-a2df-2e68.rev.sfr.net)
2023-06-08 10:43:20 +0200oo_miguel(~Thunderbi@77.252.47.84)
2023-06-08 10:44:42 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-b9db-66de-a2df-2e68.rev.sfr.net) (Remote host closed the connection)
2023-06-08 10:46:33 +0200zeenk(~zeenk@2a02:2f04:a106:3c00::7fe) (Remote host closed the connection)
2023-06-08 10:46:55 +0200zeenk(~zeenk@2a02:2f04:a106:3c00::fba)
2023-06-08 10:49:21 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-06-08 10:49:37 +0200mheinzel(~mheinzel@2001:620:130:6092:762f:f9de:e627:8ca)
2023-06-08 10:53:02 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-06-08 10:56:57 +0200Pickchea(~private@user/pickchea)
2023-06-08 10:58:17 +0200machinedgod(~machinedg@93-138-40-51.adsl.net.t-com.hr) (Ping timeout: 256 seconds)
2023-06-08 10:59:19 +0200gonz________(sid304396@id-304396.lymington.irccloud.com) ()
2023-06-08 11:01:58 +0200 <somerandomnick[m> does anyone have a haskell function lying around that reads Text from a utf-8 encoded file but also works for windows encodings eg. 1252? or am i doing it wrong
2023-06-08 11:02:28 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-06-08 11:02:29 +0200ubert(~Thunderbi@2a02:8109:abc0:6434:734b:c6e7:ee63:2f95)
2023-06-08 11:03:06 +0200ava[m](~ava2607ma@2001:470:69fc:105::3:5307) (Remote host closed the connection)
2023-06-08 11:03:08 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-06-08 11:03:09 +0200 <dminuoso> somerandomnick[m: "but also works", what exact behavior do you expect here?
2023-06-08 11:03:20 +0200 <dminuoso> Automatic guessing of the encoding?
2023-06-08 11:03:23 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-7103-52d8-4be8-ade6.rev.sfr.net)
2023-06-08 11:03:23 +0200 <merijn> somerandomnick[m: By default Text's functions (like 'readFile :: FilePath -> IO String') base the encoding used on the system's environment, so assuming Windows is configured that 1252 is the default encoding it should "just work"
2023-06-08 11:03:52 +0200 <merijn> somerandomnick[m: If relying on the environment isn't possible (because the environment doesn't match the file, for example) your only option is to explicitly decode
2023-06-08 11:04:05 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2023-06-08 11:04:15 +0200 <merijn> somerandomnick[m: i.e. use ByteString to read the file, then decode from ByteString to Text
2023-06-08 11:04:27 +0200Lord_of_Life_Lord_of_Life
2023-06-08 11:04:48 +0200taupiqueur4(~taupiqueu@2a02-842a-8180-4601-fc1a-de08-4257-8549.rev.sfr.net) (Ping timeout: 240 seconds)
2023-06-08 11:05:18 +0200 <somerandomnick[m> d​minuoso: im looking for pragmatic solution, if it does windows encoding AND utf-8, already good enough
2023-06-08 11:05:33 +0200 <dminuoso> somerandomnick[m: Yes. And what should make the choice how to decode?
2023-06-08 11:06:17 +0200 <somerandomnick[m> merijin: I believe that, but a windows file can make its way to a linux system
2023-06-08 11:07:00 +0200 <merijn> somerandomnick[m: There is no magic method to figure out the encoding of a file if you don't know it
2023-06-08 11:07:15 +0200 <somerandomnick[m> Let me use charsetdetect then and see how far it takes me
2023-06-08 11:07:19 +0200 <merijn> somerandomnick[m: You can try a bunch of different ones and see if you can get encoding errors or not
2023-06-08 11:07:58 +0200 <somerandomnick[m> obviously, covering more than 2(!) different families of encoding is too tall a task
2023-06-08 11:08:01 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:683c:8f75:84b3:cebf)
2023-06-08 11:11:07 +0200 <merijn> somerandomnick[m: You'll have to grab one of the encoding libraries and there seems to be a charsetdetect library and then combine those two into an explicit "ByteString -> Text" decoding step
2023-06-08 11:11:34 +0200 <merijn> I forgot what the "standard" library for non-utf encodings is
2023-06-08 11:12:07 +0200 <geekosaur> also note you have to try utf8 first since it produces encoding errors. in most other encodings all characters are valid, so you have zero chance of telling if it's garbage/mojibake
2023-06-08 11:12:27 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:683c:8f75:84b3:cebf) (Ping timeout: 256 seconds)
2023-06-08 11:12:59 +0200mechap(~mechap@user/mechap) (Quit: WeeChat 3.8)
2023-06-08 11:14:23 +0200 <Hecate> if you're not horrified enough, check how libmagic does it
2023-06-08 11:14:37 +0200oo_miguel(~Thunderbi@77.252.47.84) (Ping timeout: 240 seconds)
2023-06-08 11:15:20 +0200 <merijn> Hecate: I still propose we just stab anyone not producing UTF
2023-06-08 11:15:44 +0200 <Rembane> libstab, commonly used in lenses.
2023-06-08 11:15:52 +0200 <merijn> Hecate: And doubly stab the malfeasant at MicroSoft who came up with the UTF-8 BOM
2023-06-08 11:15:56 +0200 <dminuoso> Rembane: I see what you did there.
2023-06-08 11:15:59 +0200 <merijn> A pox upon that guy
2023-06-08 11:17:06 +0200oo_miguel(~Thunderbi@77.252.47.84)
2023-06-08 11:17:08 +0200nate2(~nate@98.45.169.16)
2023-06-08 11:17:10 +0200 <dminuoso> merijn: UTF-8 BOM is fine. If this is ever a problem, you are either using a non-unicode-compliant library, or a non-unicode-capable library.
2023-06-08 11:17:42 +0200 <merijn> dminuoso: UTF-8 BOM wasn't even in the utf-8 spec, it's a MS stupid invention with 0 value
2023-06-08 11:17:48 +0200 <dminuoso> The real question is rather why we have never established some shallow text format that conveys encoding information.
2023-06-08 11:17:53 +0200 <merijn> dminuoso: Give me one good reason to *ever* have a BOM for utf-8
2023-06-08 11:17:54 +0200 <geekosaur> isn't the byte order mark only valid in utf16 encodings?
2023-06-08 11:18:00 +0200 <somerandomnick[m> yes I have heard calls for social ostracization of those who do not produce UTF8
2023-06-08 11:18:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 11:18:10 +0200 <somerandomnick[m> i do not necessarily agree with that
2023-06-08 11:18:11 +0200 <geekosaur> just like the surrogates are only valid in utf16?
2023-06-08 11:18:17 +0200 <merijn> geekosaur: Yes, except MS invented a dumbass one for UTF-8
2023-06-08 11:18:32 +0200 <merijn> geekosaur: And you better support it or else excel refuses to read your CSV files
2023-06-08 11:18:38 +0200 <geekosaur> I prefer utf8 but make an exception for big5
2023-06-08 11:18:50 +0200 <Rembane> dminuoso: ^^
2023-06-08 11:19:04 +0200 <merijn> somerandomnick[m: I was mostly restricting myself to "not UTF" (regardless of which one)
2023-06-08 11:19:14 +0200 <merijn> somerandomnick[m: Although, screw anyone who produces UTF-7
2023-06-08 11:19:20 +0200 <somerandomnick[m> BTW, charsetdetect has already failed me, tells me ASCII, useless!!
2023-06-08 11:19:24 +0200 <geekosaur> because utf8 is oversized and painful for cjk
2023-06-08 11:19:30 +0200 <dminuoso> Something akin to Mail would have been great.
2023-06-08 11:19:43 +0200 <dminuoso> Such that you can convey encoding and some basic meta data about some text file.
2023-06-08 11:20:01 +0200 <merijn> dminuoso: Anyway, I notice you haven't given an argument in favour of the existence of a UTF-8 BOM :)
2023-06-08 11:20:45 +0200 <dminuoso> merijn: https://www.unicode.org/versions/Unicode5.0.0/ch02.pdf See Table 2-4
2023-06-08 11:20:51 +0200 <dminuoso> BOM is allowed in UTF-8.
2023-06-08 11:21:03 +0200 <merijn> dminuoso: I didn't ask if it was allowed (that was only added after MS)
2023-06-08 11:21:11 +0200 <merijn> dminuoso: I asked for a reason to allow it in the spec
2023-06-08 11:21:17 +0200 <dminuoso> My opinion is irrelevant. If your library cant handle it, its non-conforming.
2023-06-08 11:21:38 +0200nate2(~nate@98.45.169.16) (Ping timeout: 250 seconds)
2023-06-08 11:21:40 +0200 <dminuoso> Dont conflate your personal objects over additions with the inability of library authors to implement unicode.
2023-06-08 11:21:45 +0200 <dminuoso> s/objects/objections/
2023-06-08 11:24:13 +0200 <merijn> dminuoso: My problem is that I have to deal with incompetent library authors all the time, therefore the addition of allowing it means I know have to deal with people who don't deal with it
2023-06-08 11:25:02 +0200 <dminuoso> Honestly, if they cant even deal with BOM correctly, this will be the least of your worries when it comes to unicode correctness.
2023-06-08 11:25:07 +0200 <dminuoso> Given how simple it is to do right.
2023-06-08 11:25:46 +0200 <probie> Use of a BOM is neither required nor recommended for UTF-8, but may be encountered in contexts where UTF-8 data is converted from other encoding forms that use a BOM or where the BOM is used as a UTF-8 signature.
2023-06-08 11:26:15 +0200 <somerandomnick[m> lets use decodeUtf8Lenient and silently drop invalid chars and not tell our users about it. That way, the heretics not adhering to UTF-8 will suffer greatly, not knowing what hit them
2023-06-08 11:26:29 +0200 <geekosaur> == "Microsoft rammed their method for detecting itf8-encoded data down the unicode committee's (and everyone else's) throats
2023-06-08 11:26:30 +0200 <dminuoso> probie: Note this expression of "use" is meant from the perspective of a program that generates UTF-8.
2023-06-08 11:26:31 +0200 <geekosaur> "
2023-06-08 11:26:36 +0200 <dminuoso> Not from the perspective of decoding it.
2023-06-08 11:26:43 +0200 <ncf> hpc: your wish came true :D
2023-06-08 11:26:49 +0200td_(~td@i53870909.versanet.de) (Ping timeout: 265 seconds)
2023-06-08 11:26:59 +0200 <merijn> geekosaur: Facts
2023-06-08 11:27:03 +0200machinedgod(~machinedg@93-138-40-51.adsl.net.t-com.hr)
2023-06-08 11:27:07 +0200 <dminuoso> probie: "[..] but may be encountered in [..]"
2023-06-08 11:27:10 +0200 <merijn> Hence, a pox upon the MS guy responsible
2023-06-08 11:27:33 +0200 <dminuoso> probie: https://www.unicode.org/versions/Unicode5.0.0/ch16.pdf#M9.21335.Heading.133.Specials
2023-06-08 11:27:54 +0200 <merijn> Had to spend 3 hours debugging why my girlfriend's "obviously correct" Haskell program was producing cryptic errors only to find out cassava can't handle UTF-8 BOM >.>
2023-06-08 11:28:23 +0200 <dminuoso> `Similarly, where Unicode text has known byte order, initial U+FEFF characters are not required, but for backward compatibility are to be interpreted as zero width no-break spaces. For`
2023-06-08 11:28:24 +0200td_(~td@i53870909.versanet.de)
2023-06-08 11:29:26 +0200 <probie> dminuoso: I'm not expressing an opinion, just quoting the relevant part of the spec so people don't have to go looking for it
2023-06-08 11:29:49 +0200 <dminuoso> Fair
2023-06-08 11:30:34 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 268 seconds)
2023-06-08 11:31:11 +0200dibblego(~dibblego@122.199.1.30)
2023-06-08 11:31:11 +0200dibblego(~dibblego@122.199.1.30) (Changing host)
2023-06-08 11:31:11 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-06-08 11:38:16 +0200 <[exa]> (funny how MS then randomly ceases to use boms in utf16 where it is actually needed.)
2023-06-08 11:41:14 +0200 <somerandomnick[m> readFile :: FilePath -> IO TextSource#
2023-06-08 11:41:14 +0200 <somerandomnick[m> The readFile function reads a file and returns the contents of the file as a string. The entire file is read strictly, as with getContents.
2023-06-08 11:41:14 +0200 <somerandomnick[m> Beware that this function (similarly to readFile) is locale-dependent. Unexpected system locale may cause your application to read corrupted data or throw runtime exceptions about "invalid argument (invalid byte sequence)" or "invalid argument (invalid character)". This is also slow, because GHC first converts an entire input to UTF-32, which is afterwards converted to UTF-8.
2023-06-08 11:41:14 +0200 <somerandomnick[m> If your data is UTF-8, using decodeUtf8 . readFile is a much faster and safer alternative.
2023-06-08 11:42:12 +0200 <gnalzo> they (MS) often take inconsistent decision. This is a constant :D
2023-06-08 11:42:47 +0200 <somerandomnick[m> Data Text converts everything to utf 32 lol
2023-06-08 11:42:55 +0200 <somerandomnick[m> readFile that is
2023-06-08 11:43:07 +0200 <merijn> somerandomnick[m: It does not
2023-06-08 11:43:37 +0200Square(~Square@user/square) (Ping timeout: 256 seconds)
2023-06-08 11:44:14 +0200 <merijn> hmm, did this change in the utf-8 change? :O
2023-06-08 11:47:07 +0200machinedgod(~machinedg@93-138-40-51.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
2023-06-08 11:48:33 +0200 <merijn> Ugh, I should not have started digging through this code
2023-06-08 11:49:23 +0200 <somerandomnick[m> This is also slow, because GHC first converts an entire input to UTF-32, which is afterwards converted to UTF-8.
2023-06-08 11:54:35 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 246 seconds)
2023-06-08 11:55:08 +0200chomwitt(~chomwitt@2a02:587:7a17:7500:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds)
2023-06-08 11:57:52 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 11:59:10 +0200mheinzel(~mheinzel@2001:620:130:6092:762f:f9de:e627:8ca) (Ping timeout: 265 seconds)
2023-06-08 12:00:08 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-7103-52d8-4be8-ade6.rev.sfr.net) (Ping timeout: 265 seconds)
2023-06-08 12:02:33 +0200gurkenglas(~user@dynamic-046-114-180-095.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-06-08 12:02:57 +0200mheinzel(~mheinzel@152.96.94.73)
2023-06-08 12:04:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 12:05:50 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 12:06:52 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 12:07:16 +0200nilradical(~nilradica@user/naso) (Remote host closed the connection)
2023-06-08 12:07:57 +0200nilradical(~nilradica@user/naso)
2023-06-08 12:08:22 +0200gurkenglas(~user@dynamic-046-114-180-095.46.114.pool.telefonica.de)
2023-06-08 12:09:06 +0200taupiqueur(~taupiqueu@ip-166.net-81-220-17.versailles.rev.numericable.fr)
2023-06-08 12:10:09 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 250 seconds)
2023-06-08 12:12:31 +0200cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2023-06-08 12:12:45 +0200nilradical(~nilradica@user/naso) (Ping timeout: 240 seconds)
2023-06-08 12:12:46 +0200cheater(~Username@user/cheater)
2023-06-08 12:14:56 +0200xff0x_(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 250 seconds)
2023-06-08 12:18:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 12:18:33 +0200chromoblob(~user@37.113.158.8)
2023-06-08 12:18:57 +0200le_ka(~l_k@213.24.134.106)
2023-06-08 12:20:52 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 12:22:39 +0200nilradical(~nilradica@user/naso)
2023-06-08 12:23:11 +0200nilradical(~nilradica@user/naso) (Remote host closed the connection)
2023-06-08 12:28:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 12:28:14 +0200nilradical(~nilradica@user/naso)
2023-06-08 12:28:27 +0200remedan(~remedan@ip-94-112-0-18.bb.vodafone.cz) (Ping timeout: 248 seconds)
2023-06-08 12:29:03 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 12:33:00 +0200nilradical(~nilradica@user/naso) (Ping timeout: 265 seconds)
2023-06-08 12:35:07 +0200mheinzel(~mheinzel@152.96.94.73) (Ping timeout: 240 seconds)
2023-06-08 12:36:57 +0200remedan(~remedan@ip-94-112-0-18.bb.vodafone.cz)
2023-06-08 12:38:01 +0200gensyst(~gensyst@user/gensyst)
2023-06-08 12:38:44 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-06-08 12:39:20 +0200 <gensyst> I have an "MVar Int" that starts at 0 and I modify it only with modifyMVar. How can I wait for this mvar to contain 0?
2023-06-08 12:39:37 +0200 <gensyst> other than writing a loop with threadDelay which sounds ridiculous
2023-06-08 12:40:41 +0200nilradical(~nilradica@user/naso)
2023-06-08 12:41:20 +0200 <mauke> consider using an STRef instead
2023-06-08 12:41:30 +0200 <mauke> or TMVar
2023-06-08 12:42:25 +0200 <ncf> sounds like a semaphore
2023-06-08 12:42:31 +0200titibandit(~titibandi@user/titibandit)
2023-06-08 12:42:59 +0200 <c_wraith> if you want to just wait for it to hit zero, that sounds like you want a TVar
2023-06-08 12:43:05 +0200 <c_wraith> (not a TMVar, it's never empty)
2023-06-08 12:43:37 +0200 <mauke> er
2023-06-08 12:43:55 +0200 <mauke> why did I say STRef. I clearly thought TVar
2023-06-08 12:44:07 +0200 <mauke> FINGERS! IN MY OFFICE RIGHT NOW
2023-06-08 12:44:29 +0200 <c_wraith> like, https://hackage.haskell.org/package/stm-2.5.1.0/docs/Control-Monad-STM.html#v:check exists to make this easy to wait for
2023-06-08 12:44:52 +0200 <ncf> https://hackage.haskell.org/package/base-4.18.0.0/docs/Control-Concurrent-QSem.html
2023-06-08 12:44:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 12:45:21 +0200 <ncf> hm maybe not quite
2023-06-08 12:48:35 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 12:50:07 +0200 <gensyst> What I really want is this: whenMVarIsZero :: MVar Int -> IO a -> IO a (and while that executes, the mvar should be locked, because I don't want someone to make it non-zero while that IO action is executing because that IO action is assuming the mvar is zero).
2023-06-08 12:50:12 +0200 <gensyst> Can TVars achieve this?
2023-06-08 12:50:19 +0200{-d0t-}(~{-d0t-}@user/-d0t-/x-7915216)
2023-06-08 12:50:31 +0200{-d0t-}_d0t
2023-06-08 12:51:05 +0200 <ncf> can you say more about what that MVar contains? when does it become zero?
2023-06-08 12:51:15 +0200 <mauke> TMVars definitely can
2023-06-08 12:51:31 +0200ripspin(~chatzilla@1.145.141.6)
2023-06-08 12:52:55 +0200nilradical(~nilradica@user/naso) (Remote host closed the connection)
2023-06-08 12:53:22 +0200 <mauke> :t atomically (do n <- takeTMVar v; check (n == 0))
2023-06-08 12:53:23 +0200 <lambdabot> error:
2023-06-08 12:53:23 +0200 <lambdabot> Variable not in scope: atomically :: m0 b0 -> t
2023-06-08 12:53:27 +0200 <mauke> :-(
2023-06-08 12:53:50 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-08 12:54:15 +0200 <c_wraith> man, STM seems so magical. (Until you create a thundering herd. Don't create a thundering herd.)
2023-06-08 12:57:49 +0200 <gensyst> Is atomically STM a global thing across the entire program?
2023-06-08 12:57:54 +0200 <gensyst> global lock
2023-06-08 12:57:56 +0200 <gensyst> for all STMs
2023-06-08 12:58:05 +0200 <_d0t> gensyst: no
2023-06-08 12:58:13 +0200 <c_wraith> no, the locks are per mutable cell
2023-06-08 12:58:28 +0200 <gensyst> ok i see
2023-06-08 12:58:35 +0200 <mauke> atomically . (check . (0 ==) <=< takeTMVar)
2023-06-08 12:59:10 +0200 <c_wraith> STM's big issue is when there are a lot of threads contending for a small number of cells.
2023-06-08 12:59:11 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-08 12:59:34 +0200 <gensyst> mauke, and retry, if it fails, gives others a chance to modify it the TMVar (to increase or decrease that counter)
2023-06-08 13:00:16 +0200 <gensyst> so it "opens up" momentarily to give others a chance
2023-06-08 13:01:02 +0200 <gensyst> is it really an infinite loop under the hood?
2023-06-08 13:01:27 +0200 <c_wraith> it tells the STM system to block until a cell that had previously been touched in the transaction is changed by a different transaction
2023-06-08 13:01:48 +0200 <mauke> retry goes to the next orElse in the same atomically. if there is none, it puts the atomically to sleep until circumstances change
2023-06-08 13:02:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 13:04:30 +0200xff0x_(~xff0x@ai098135.d.east.v6connect.net)
2023-06-08 13:05:23 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 13:10:31 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:683c:8f75:84b3:cebf)
2023-06-08 13:13:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 13:14:41 +0200nilradical(~nilradica@user/naso)
2023-06-08 13:15:01 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:683c:8f75:84b3:cebf) (Ping timeout: 240 seconds)
2023-06-08 13:15:13 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 13:22:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 13:22:38 +0200gtdg(~gtdg@user/gtdg)
2023-06-08 13:23:09 +0200gtdg(~gtdg@user/gtdg) (Client Quit)
2023-06-08 13:24:02 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2023-06-08 13:27:14 +0200 <gensyst> nice, thanks mates
2023-06-08 13:29:45 +0200 <gensyst> but wait...
2023-06-08 13:30:09 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 13:31:11 +0200 <gensyst> i wanted to lock on the mvar (in original example, now TMVar) while the IO action executes... but i can't run IO actions from within atomically?
2023-06-08 13:32:58 +0200 <Rembane> You can run atomically within an IO action though
2023-06-08 13:33:04 +0200 <mauke> the locked state is represented by an empty mvar
2023-06-08 13:33:54 +0200 <mauke> you need atomically to make the mvar empty, not to keep it empty
2023-06-08 13:33:59 +0200mheinzel(~mheinzel@2001:620:130:6092:5e3e:4f50:6080:8f06)
2023-06-08 13:34:14 +0200 <zups> Why can't i pattern match the a in here: https://pastebin.com/KQa8eFyL
2023-06-08 13:35:43 +0200 <gensyst> mauke, did you mean to switch to mvar? (or i'm supposed to have an mvar for locking and tmvar for the counter?)
2023-06-08 13:36:04 +0200 <geekosaur> zups, because you said `Maybe a` and then insist that you meant `Maybe Egg`
2023-06-08 13:36:06 +0200 <mauke> gensyst: for the purposes of this discussion, read mvar as TMVar
2023-06-08 13:36:19 +0200 <merijn> zups: Because ChickenEgg has type 'Egg' and the contents of 'Maybe a' can be *anything*
2023-06-08 13:36:19 +0200 <geekosaur> so the compiler is holding you to what you said (any `a`, not just `Egg`)
2023-06-08 13:36:35 +0200 <merijn> zups: Presumably you meant "instance Price a => Price (Maybe a)"
2023-06-08 13:36:59 +0200 <mauke> zups: in line 19, what is the type of the variable 'a' intended to be?
2023-06-08 13:37:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 13:38:46 +0200 <mauke> gensyst: the point is that you can do atomically (takeTMVar v) ... atomically (putTMVar v 0) with arbitrary IO code in between. you don't need atomically around the whole thing
2023-06-08 13:38:47 +0200 <geekosaur> remember, typeclasses are open. just because the only instance it can see now is Egg, does not mean someone else will define one at a later date
2023-06-08 13:39:00 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 13:39:08 +0200 <mauke> I feel like classes are a bit of a red herring here
2023-06-08 13:39:26 +0200 <zups> mrijn: yeah, i think that way of defining the instance is more correct but still doesn't fix the error message mmm
2023-06-08 13:39:40 +0200 <mauke> there is no world where 'case a of ChickenEgg -> ...; Milk amount -> ...' typechecks, regardless of whether classes are involved
2023-06-08 13:40:08 +0200 <mauke> the two patterns have incompatible types
2023-06-08 13:41:03 +0200 <zups> mm yeah
2023-06-08 13:41:22 +0200 <gensyst> mauke, ok i get it now. i didn't realize earlier that EMPTY is now a possibility for the tmvar in addition to the various integers.
2023-06-08 13:41:25 +0200 <gensyst> thanks!
2023-06-08 13:44:31 +0200lortabac(~lortabac@152.96.92.233)
2023-06-08 13:44:37 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 240 seconds)
2023-06-08 13:47:40 +0200 <gensyst> Has stm packages practically become a "standard library"?
2023-06-08 13:47:42 +0200 <gensyst> Like bytestring
2023-06-08 13:49:17 +0200 <c_wraith> stm re-exports a lot of stuff from base. It has very little of its own code
2023-06-08 13:50:07 +0200 <c_wraith> so yeah, it isn't a really fully separate thing
2023-06-08 13:50:34 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-06-08 13:53:32 +0200gtdg(~gtdg@user/gtdg)
2023-06-08 13:58:47 +0200raehik(~raehik@82.21.176.157)
2023-06-08 13:59:11 +0200 <[exa]> is there anything that could make Options.Applicative commandline parsers work "reliably" on record-style argument structure definitions?
2023-06-08 13:59:26 +0200 <[exa]> (i.e., make sure that I don't mess up the ordering of args for the structure)
2023-06-08 13:59:55 +0200 <merijn> [exa]: hmm? mess up how?
2023-06-08 14:00:36 +0200 <jackdk> [exa]: I assume you mean getting the Nth applicative argument to align with the Nth record field? I use `-XApplicativeDo` and `-XRecordWildCards`.
2023-06-08 14:00:56 +0200 <[exa]> say data MyOpts = MyOpts{a::String, b::String}; and the parser becomes: MyOpts <$> strOption ... <*> strOption ...
2023-06-08 14:01:10 +0200 <[exa]> then I need to manually keep the order of things in sync
2023-06-08 14:01:17 +0200 <merijn> [exa]: ApplicativeDo and optionally RecordWildCards, yes
2023-06-08 14:01:20 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 14:01:28 +0200 <merijn> [exa]: Lemme see if I have an example in my code
2023-06-08 14:01:29 +0200 <[exa]> ah ok perfect
2023-06-08 14:01:34 +0200 <[exa]> jackdk merijn thanks both!
2023-06-08 14:02:44 +0200 <merijn> [exa]: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/OptionParsers.hs#L483-L498
2023-06-08 14:03:11 +0200 <merijn> That one is a bit more complicated since all my results are runnable actions, but you get the idea
2023-06-08 14:03:16 +0200vglfr(~vglfr@cli-188-239-233-89.bbn.slav.dn.ua) (Ping timeout: 250 seconds)
2023-06-08 14:04:02 +0200vglfr(~vglfr@188.239.233.89)
2023-06-08 14:04:09 +0200 <[exa]> but wait if someone switches there the "pure allowNewer" and "pure filterFlag" (I assume both are Bools), it doesn't fail, right?
2023-06-08 14:05:03 +0200 <merijn> [exa]: hmm, I guess that only handles the case of the Parser not the underlying SqlM :p
2023-06-08 14:05:09 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 14:05:11 +0200 <[exa]> ah no I can then do MyOpts{..} and it will work, yeah
2023-06-08 14:05:18 +0200 <merijn> [exa]: Yeah, exactly
2023-06-08 14:05:25 +0200 <[exa]> great, it clicked :D
2023-06-08 14:05:27 +0200 <[exa]> thanks a lot!
2023-06-08 14:06:02 +0200 <merijn> [exa]: ApplicativeDo rules can be a bit finnicky, but for trivial cases of just "pure MyOpts{..}" it should just always work
2023-06-08 14:10:18 +0200 <[exa]> well lemme tease it a bit with `emptyFilledOpts{..}` and see how it fails :D
2023-06-08 14:10:49 +0200 <[exa]> error: You cannot use `..' in a record update
2023-06-08 14:10:52 +0200 <[exa]> ,_,
2023-06-08 14:16:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 14:19:46 +0200 <gensyst> can async exceptions also be thrown at waiting TMVars (whether take or put) inside a mask?
2023-06-08 14:19:55 +0200 <gensyst> (just like for mvars)
2023-06-08 14:19:58 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 14:24:45 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 14:24:54 +0200 <gensyst> yeah sort of looks like it: https://hackage.haskell.org/package/base-4.9.1.0/docs/Control-Exception.html#g:13
2023-06-08 14:26:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 14:29:08 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
2023-06-08 14:30:11 +0200 <somerandomnick[m> hey, update, fmap decodeUtf8Lenient . B.readFile together with alexSkip '\xFFFD' = True (for good measure) is good enough for a lexer to eat all kinds of real world files
2023-06-08 14:30:49 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 14:30:49 +0200 <somerandomnick[m> it is also more efficient then a naive T.readFile from Data.Text
2023-06-08 14:36:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 14:38:38 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 14:41:31 +0200nilradical(~nilradica@user/naso) ()
2023-06-08 14:42:47 +0200Pickchea(~private@user/pickchea)
2023-06-08 14:45:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 14:46:16 +0200gensyst(~gensyst@user/gensyst) (Quit: Leaving)
2023-06-08 14:49:18 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 14:50:25 +0200 <JensPetersen[m]> Cool, hackage creates dependency links to non-existent hackages, hehe
2023-06-08 14:51:07 +0200ec_(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-06-08 14:52:14 +0200lortabac(~lortabac@152.96.92.233) (Ping timeout: 265 seconds)
2023-06-08 14:53:09 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 14:56:20 +0200tomsmedingwonders how many hackages exist, and don't exist
2023-06-08 14:57:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 14:58:18 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2023-06-08 14:58:27 +0200lortabac(~lortabac@2001:620:130:6092:99f0:67aa:f3b5:79c)
2023-06-08 14:58:54 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 14:59:05 +0200ddellacosta(~ddellacos@146.70.165.139)
2023-06-08 14:59:18 +0200 <JensPetersen[m]> Was there any general announcement about crypton yet?
2023-06-08 14:59:24 +0200 <JensPetersen[m]> It would be helpful...
2023-06-08 15:00:08 +0200mheinzel(~mheinzel@2001:620:130:6092:5e3e:4f50:6080:8f06) (Ping timeout: 240 seconds)
2023-06-08 15:00:14 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-08 15:01:00 +0200 <geekosaur> https://discourse.haskell.org/t/a-new-future-for-cryptography-in-haskell/3888 ?
2023-06-08 15:01:05 +0200 <probie> announcement by who, and on what platform?
2023-06-08 15:01:20 +0200 <geekosaur> oh, no, that's more general
2023-06-08 15:01:28 +0200 <geekosaur> and possibly in response to this mess
2023-06-08 15:02:21 +0200 <probie> I think it's separate and unrelated to this mess
2023-06-08 15:02:48 +0200 <Rembane> What's the mess?
2023-06-08 15:03:51 +0200 <geekosaur> crypton was forked from cryptonite, is not source compatible, some key packages switched to it => things like wai are suddenly broken
2023-06-08 15:04:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 15:04:24 +0200 <geekosaur> because some of ther deps now want crypton and others want cryptonite
2023-06-08 15:04:33 +0200mheinzel(~mheinzel@152.96.94.73)
2023-06-08 15:04:42 +0200 <Rembane> Oh, that sounds messy.
2023-06-08 15:05:02 +0200 <somerandomnick[m> Once you get a cryptographer that also knows haskell, you can have pure haskell crypto primitives. Until then I will prefer my own bindings to libsodium. Cheers
2023-06-08 15:05:21 +0200 <geekosaur> that's the topic of the discourse I posted
2023-06-08 15:05:30 +0200 <geekosaur> HF is stepping in to resolve that situation
2023-06-08 15:06:07 +0200 <probie> Isn't crypton(ite) largely written in C with bits of inline assembly for the actual crypto bits?
2023-06-08 15:06:09 +0200 <geekosaur> because while cryptonite (and now crypton) are widely used, others distrust it/them because nobody has audited them
2023-06-08 15:06:47 +0200mmhat(~mmh@p200300f1c727020cee086bfffe095315.dip0.t-ipconnect.de)
2023-06-08 15:07:19 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 15:07:20 +0200 <geekosaur> so yeh, we need a proper cryptography solution
2023-06-08 15:07:40 +0200 <probie> (to clarify, my comment about crypton(ite) being mostly written in C isn't saying that you should trust it, merely that anyone auditing it probably wouldn't need to know Haskell)
2023-06-08 15:08:00 +0200 <geekosaur> heck, we need just an https protocol solution, last I checked things still had to shell out to curl
2023-06-08 15:08:25 +0200 <geekosaur> (libcurl is apparently a nightmare, including that the api changes a lot)
2023-06-08 15:10:00 +0200 <kuribas> geekosaur: could this be useful? https://github.com/hacl-star/hacl-star
2023-06-08 15:10:06 +0200 <geekosaur> also a number of us are not confident about pure haskell crypto primitives, because you don't have the control over side channel timing attacks that C at least tries to give you
2023-06-08 15:10:33 +0200 <geekosaur> (until intel shoots you in the kneecaps with timings that violate their own documentation)
2023-06-08 15:11:03 +0200 <geekosaur> kuribas, I'm not the one who needs to be told about that…
2023-06-08 15:11:34 +0200 <geekosaur> (I'm not writing webby stuff, I just know these things have come up a lot)
2023-06-08 15:12:17 +0200 <probie> Personally I don't think crypto stuff should be written in C. I'm terrified that a modern compiler will be a bit too helpful
2023-06-08 15:12:53 +0200 <geekosaur> sadly that is true of every other language as well
2023-06-08 15:13:25 +0200 <geekosaur> I think C/Rust/whatever compilers need a special "guaranteed timing" optimization mode for cryptography code
2023-06-08 15:13:50 +0200 <probie> well, maybe not "not written in C", but rather that compilers for crypto algorithms should be separate from those for general purpose programming language (but if you're going to have a separate compiler, you may as well have a dedicated language)
2023-06-08 15:13:52 +0200 <geekosaur> (even asm is suspect)
2023-06-08 15:15:19 +0200 <probie> that way you're free to also add things that most general purpose compilers wouldn't consider, like "different codegen for different CPUs with the same architecture"
2023-06-08 15:15:35 +0200 <Axman6> somerandomnick[m: I would recommend these libsodium bindings, a lot of work has gone into the: https://haskell-cryptography.org/projects/
2023-06-08 15:15:50 +0200cfricke_(~cfricke@user/cfricke)
2023-06-08 15:18:22 +0200 <dminuoso> probie: There's a bunch of projects looking specifying mathematical models and extracting programs out of them.
2023-06-08 15:18:29 +0200nate2(~nate@98.45.169.16)
2023-06-08 15:18:37 +0200 <dminuoso> See fiat-crypto, verse-coq or even cryptol
2023-06-08 15:18:44 +0200 <dminuoso> Problem is their performance is utterly poor.
2023-06-08 15:18:59 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 246 seconds)
2023-06-08 15:19:30 +0200 <dminuoso> The advantage that C language has, is that there's a lot more implementors well versed in both cryptographic and how to avoid certain optimizations.
2023-06-08 15:19:53 +0200 <dminuoso> So that gives you more people that *can* get involved, which given the problem domain already is very few people.
2023-06-08 15:20:59 +0200 <dminuoso> Cryptographic libraries sometimes have critical sections written in handrolled assembler, or tightly controlling optimizations, and then this stuff gets tuned between compiler releases
2023-06-08 15:21:30 +0200 <dminuoso> In GHC you could at least write critical sections in primops
2023-06-08 15:21:45 +0200 <jean-paul[m]> "Slow" or "wrong", such lovely options we have
2023-06-08 15:22:32 +0200 <dminuoso> jean-paul[m]: to be fair, even fiat-crypto/verse-coq isnt provably correct. It's only provably correct up to the properties that the primitives have.
2023-06-08 15:22:51 +0200 <dminuoso> Unknown future side-channels are pretty much unavoidable.
2023-06-08 15:22:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 15:23:04 +0200 <jean-paul[m]> "Slow and maybe wrong" or "wrong", even better :)
2023-06-08 15:23:07 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-06-08 15:23:56 +0200 <jean-paul[m]> We need formal models of every part of the system - including the hardware and the compiler
2023-06-08 15:24:13 +0200 <jean-paul[m]> maybe in another fifty years
2023-06-08 15:24:19 +0200 <dminuoso> jean-paul[m]: A bigger problem is that of the CPU.
2023-06-08 15:24:41 +0200 <dminuoso> When not even AES instructions leak information
2023-06-08 15:24:45 +0200 <dminuoso> s/not//
2023-06-08 15:25:04 +0200 <jean-paul[m]> Yea. I was including the CPU in "hardware". What kind of CPU do you have? ;)
2023-06-08 15:25:13 +0200 <dminuoso> You are staring at a gigantic, undebuggable and undecipherable microcode machine nobody outside Intel/AMD knows how it functions
2023-06-08 15:25:59 +0200 <dminuoso> Im just saying that "in another fifty years" is not reasonable, why would <future CPU vendor in 50 years> have any interest in sharing intellectual property?
2023-06-08 15:26:01 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 15:26:03 +0200 <geekosaur> and of course the internals are trade secret so you'll never get a reliable model
2023-06-08 15:26:58 +0200 <jean-paul[m]> One reason for them to give that away could be "it is possible for software on our CPU to be secure" I suppose?
2023-06-08 15:27:05 +0200geekosaurwonders if crypto coprocessors will become a thing
2023-06-08 15:27:15 +0200 <jean-paul[m]> I dunno. I only said "maybe in 50 years" :)
2023-06-08 15:27:23 +0200 <geekosaur> well, they already are, given TPM
2023-06-08 15:28:32 +0200vandita(~vandit@92-249-182-124.pool.digikabel.hu) (Ping timeout: 248 seconds)
2023-06-08 15:30:27 +0200 <JensPetersen[m]> Why is cabal haddock failing in GH CI? hm 😢
2023-06-08 15:30:32 +0200vandita(~vandit@94-21-82-204.pool.digikabel.hu)
2023-06-08 15:30:37 +0200 <Axman6> Risc-c is proabbly the best chance to get those sort of properties dminuoso.
2023-06-08 15:30:49 +0200 <Axman6> V*
2023-06-08 15:31:56 +0200 <Axman6> the team that worked on seL4 are very keen to make sure many of the mistakes of the past which lead to side channels are avoided where possible
2023-06-08 15:32:28 +0200 <Axman6> and have been opart of the risc-v foundation, or whatever it's called, for a long time now
2023-06-08 15:34:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 15:34:17 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-06-08 15:35:04 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 15:37:00 +0200vglfr(~vglfr@188.239.233.89) (Remote host closed the connection)
2023-06-08 15:38:09 +0200 <merijn> dminuoso: Hey, the majority within intel doesn't know how their microcode machine works either :p
2023-06-08 15:38:17 +0200 <merijn> I'm not sure anyone *really* does
2023-06-08 15:38:52 +0200 <merijn> Also, clearly we should be implementing the Haskell crypto ecosystem in Ivory ;)
2023-06-08 15:40:08 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-06-08 15:41:48 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-06-08 15:41:48 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-06-08 15:41:48 +0200wroathe(~wroathe@user/wroathe)
2023-06-08 15:42:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 15:43:03 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-06-08 15:43:58 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 15:44:13 +0200 <kuribas> probie: compCert?
2023-06-08 15:45:49 +0200phma(phma@2001:5b0:2143:8e68:4a0a:5813:1bab:50e7) (Read error: Connection reset by peer)
2023-06-08 15:46:30 +0200phma(~phma@host-67-44-208-203.hnremote.net)
2023-06-08 15:48:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 15:48:48 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2023-06-08 15:50:57 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 15:53:49 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-06-08 15:54:39 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-06-08 15:56:58 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 265 seconds)
2023-06-08 15:57:15 +0200tomsmedingis confused how the Ivory website explains that it's an eDSL in Haskell, but then under Reference gives the "syntax" of the language
2023-06-08 15:57:26 +0200 <tomsmeding> like, is it embedded or isn't it
2023-06-08 16:03:38 +0200mc47(~mc47@xmonad/TheMC47)
2023-06-08 16:04:43 +0200ystael(~ystael@user/ystael) (Quit: Lost terminal)
2023-06-08 16:06:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 16:07:36 +0200mheinzel(~mheinzel@152.96.94.73) (Ping timeout: 265 seconds)
2023-06-08 16:08:43 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 16:09:03 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-08 16:12:14 +0200chromoblob(~user@37.113.158.8)
2023-06-08 16:14:08 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 16:14:23 +0200 <byorgey> tomsmeding: could make sense if the purpose is to make it usable by people who don't already know Haskell
2023-06-08 16:16:47 +0200mheinzel(~mheinzel@152.96.94.73)
2023-06-08 16:16:57 +0200ripspin(~chatzilla@1.145.141.6) (Remote host closed the connection)
2023-06-08 16:19:57 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-9c6d-a82c-d0c8-a0dc.rev.sfr.net)
2023-06-08 16:20:16 +0200raym(~ray@user/raym)
2023-06-08 16:20:25 +0200machinedgod(~machinedg@93-138-40-51.adsl.net.t-com.hr)
2023-06-08 16:21:11 +0200taupiqueur(~taupiqueu@ip-166.net-81-220-17.versailles.rev.numericable.fr) (Quit: WeeChat 3.8)
2023-06-08 16:21:23 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 16:22:29 +0200Sgeo(~Sgeo@user/sgeo)
2023-06-08 16:22:40 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-06-08 16:23:23 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-9c6d-a82c-d0c8-a0dc.rev.sfr.net) (Remote host closed the connection)
2023-06-08 16:24:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-06-08 16:24:49 +0200econo(uid147250@user/econo)
2023-06-08 16:25:28 +0200Sgeo(~Sgeo@user/sgeo)
2023-06-08 16:25:53 +0200chomwitt(~chomwitt@94.69.70.96)
2023-06-08 16:26:32 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-08 16:29:08 +0200irfan(~irfan@user/irfan) (Ping timeout: 240 seconds)
2023-06-08 16:30:10 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
2023-06-08 16:31:44 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 16:35:12 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-06-08 16:36:15 +0200le_ka(~l_k@213.24.134.106) (Read error: Connection reset by peer)
2023-06-08 16:36:27 +0200le_ka(~l_k@213.24.134.106)
2023-06-08 16:38:41 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-06-08 16:40:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-06-08 16:40:53 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 16:46:08 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
2023-06-08 16:47:52 +0200ystael(~ystael@user/ystael)
2023-06-08 16:48:29 +0200le_ka(~l_k@213.24.134.106) (Ping timeout: 256 seconds)
2023-06-08 16:49:46 +0200mechap(~mechap@user/mechap)
2023-06-08 16:50:56 +0200titibandit(~titibandi@user/titibandit)
2023-06-08 16:50:58 +0200 <gurkenglas> New monad tutorial just dropped. Picture a small monk as I say this.
2023-06-08 16:51:49 +0200 <gurkenglas> "Do not try and get a value out of your IO Cutlery. That's impossible. Instead, only try to realize the truth: There is no spoon."
2023-06-08 16:51:50 +0200Inst_(~Inst@c-98-208-218-119.hsd1.fl.comcast.net)
2023-06-08 16:52:16 +0200Inst(~Inst@2601:6c4:4081:2fc0:f10d:fbfc:9509:13bb) (Ping timeout: 250 seconds)
2023-06-08 16:52:52 +0200 <Rembane> "I need guns. Lots of guns."
2023-06-08 16:53:20 +0200ubert(~Thunderbi@2a02:8109:abc0:6434:734b:c6e7:ee63:2f95) (Quit: ubert)
2023-06-08 16:53:28 +0200 <probie> s/gun/(>>=)/
2023-06-08 16:54:06 +0200Inst_(~Inst@c-98-208-218-119.hsd1.fl.comcast.net) (Read error: Connection reset by peer)
2023-06-08 16:54:28 +0200Inst_(~Inst@2601:6c4:4081:2fc0:ed66:a694:f2c2:7aeb)
2023-06-08 16:54:33 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2023-06-08 16:55:24 +0200tom__(~tom@host81-151-255-71.range81-151.btcentralplus.com) (Read error: Connection reset by peer)
2023-06-08 17:06:39 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 268 seconds)
2023-06-08 17:07:57 +0200titibandit(~titibandi@user/titibandit)
2023-06-08 17:09:10 +0200 <EvanR> One cannot simply be told what A Monad is
2023-06-08 17:09:35 +0200lortabac(~lortabac@2001:620:130:6092:99f0:67aa:f3b5:79c) (Ping timeout: 246 seconds)
2023-06-08 17:09:51 +0200 <_d0t> it's a monoid in the category of endofunctors lol
2023-06-08 17:10:23 +0200 <_d0t> on a related note, it's a shame that join isn't a member of Monad in Haskell
2023-06-08 17:12:11 +0200 <chromoblob> i agree
2023-06-08 17:13:40 +0200 <_d0t> mostly because this would make the definition true in case of haskell
2023-06-08 17:13:59 +0200 <_d0t> or well, rather more relevant
2023-06-08 17:14:39 +0200 <jade[m]> what's a monad where defining join specially would have performance benefits
2023-06-08 17:14:48 +0200 <jade[m]> or rather when is `>>= id` "bad"?
2023-06-08 17:15:11 +0200 <_d0t> there are some monads where join is easier to define than >>=
2023-06-08 17:15:25 +0200 <jade[m]> that's fair enough
2023-06-08 17:15:52 +0200 <jade[m]> though you might just do that and then `(>>=) = join . fmap`
2023-06-08 17:15:53 +0200lortabac(~lortabac@2001:620:130:6092:2b9e:4750:fde0:6faa)
2023-06-08 17:16:01 +0200 <jade[m]> * = join' .
2023-06-08 17:16:27 +0200 <_d0t> yes. Although this would require Functor to be the superclass for Monad, which wasn't always the case.
2023-06-08 17:16:31 +0200acidjnk(~acidjnk@p200300d6e7072f01d1c821db9a6d9801.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-06-08 17:17:22 +0200 <jade[m]> but then join alone is not sufficient for a monad, right?
2023-06-08 17:17:24 +0200 <EvanR> even if it's not, in your specific instance you can require Functor
2023-06-08 17:17:58 +0200 <_d0t> jade[m]: you need join and return
2023-06-08 17:18:03 +0200acidjnk(~acidjnk@p200300d6e7072f019dd2aa00216a5b17.dip0.t-ipconnect.de)
2023-06-08 17:18:19 +0200 <_d0t> and you can use liftM instead of fmap
2023-06-08 17:18:24 +0200 <_d0t> i always forget it exists lol
2023-06-08 17:18:25 +0200 <EvanR> since Monad requires Applicative now, you have return
2023-06-08 17:18:32 +0200 <EvanR> one way or another
2023-06-08 17:18:33 +0200 <jade[m]> _d0t: that feels like not enough?
2023-06-08 17:18:45 +0200 <jade[m]> because how would you define `>>=` without `fmap`?
2023-06-08 17:18:55 +0200 <_d0t> jade[m]: nah, that's enough. Disregard my words about the superclass.
2023-06-08 17:19:39 +0200machinedgod(~machinedg@93-138-40-51.adsl.net.t-com.hr) (Ping timeout: 265 seconds)
2023-06-08 17:19:46 +0200 <jade[m]> but `liftM` is defined in terms of `>>=`
2023-06-08 17:20:13 +0200 <jade[m]> if the definitions via `>>=` and `join` would be identical you would be able to define each in terms of the other, right?
2023-06-08 17:20:24 +0200 <jade[m]> How do you define `>>=` in terms of `join`?
2023-06-08 17:20:32 +0200 <_d0t> you can define liftM in terms of join and return
2023-06-08 17:20:36 +0200 <jade[m]> without fmap
2023-06-08 17:20:49 +0200 <jade[m]> _d0t: can you show how please
2023-06-08 17:20:57 +0200 <_d0t> jade[m]: hmm.. lemme fire up the repl
2023-06-08 17:21:40 +0200 <jade[m]> not trying to be cocky, but I'm pretty sure join by itself is not enough
2023-06-08 17:21:47 +0200 <jade[m]> because `>>=` is a generalization of it
2023-06-08 17:24:41 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-06-08 17:25:39 +0200 <_d0t> dammit! Seems that you need fmap after all.
2023-06-08 17:26:11 +0200 <jade[m]> yep
2023-06-08 17:31:42 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 265 seconds)
2023-06-08 17:31:44 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 265 seconds)
2023-06-08 17:33:55 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-08 17:36:20 +0200shapr(~user@2600:1700:c640:3100:e1bf:464f:6761:f460)
2023-06-08 17:37:13 +0200le_ka(~l_k@213.24.134.106)
2023-06-08 17:38:28 +0200le_ka(~l_k@213.24.134.106) (Client Quit)
2023-06-08 17:38:33 +0200gtdg(~gtdg@user/gtdg) (Ping timeout: 245 seconds)
2023-06-08 17:40:50 +0200lortabac(~lortabac@2001:620:130:6092:2b9e:4750:fde0:6faa) (Quit: WeeChat 2.8)
2023-06-08 17:43:27 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-08 17:43:57 +0200zeenk(~zeenk@2a02:2f04:a106:3c00::fba) (Quit: Konversation terminated!)
2023-06-08 17:45:38 +0200mheinzel(~mheinzel@152.96.94.73) (Ping timeout: 246 seconds)
2023-06-08 17:45:38 +0200merijn(~merijn@c-001-001-004.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2023-06-08 17:49:41 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 17:53:27 +0200dcoutts(~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) (Ping timeout: 265 seconds)
2023-06-08 17:54:05 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 240 seconds)
2023-06-08 17:54:40 +0200captnemo(~captnemo@193.32.127.239)
2023-06-08 18:02:37 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-06-08 18:03:05 +0200mheinzel(~mheinzel@2001:620:130:6092:da44:6da6:feaf:b10d)
2023-06-08 18:04:03 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-08 18:05:28 +0200vandita(~vandit@94-21-82-204.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-06-08 18:07:32 +0200vandita(~vandit@77-234-80-221.pool.digikabel.hu)
2023-06-08 18:13:28 +0200raym(~ray@user/raym) (Remote host closed the connection)
2023-06-08 18:15:41 +0200mheinzel(~mheinzel@2001:620:130:6092:da44:6da6:feaf:b10d) (Quit: Leaving)
2023-06-08 18:16:51 +0200zeenk(~zeenk@2a02:2f04:a106:3c00::fba)
2023-06-08 18:19:29 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2023-06-08 18:20:24 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-06-08 18:25:58 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-06-08 18:28:11 +0200zeenk(~zeenk@2a02:2f04:a106:3c00::fba) (Quit: Konversation terminated!)
2023-06-08 18:29:45 +0200chromoblob(~user@37.113.158.8) (Ping timeout: 240 seconds)
2023-06-08 18:32:04 +0200cfricke_(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-06-08 18:32:16 +0200chromoblob(~user@37.113.180.121)
2023-06-08 18:32:37 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
2023-06-08 18:33:43 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-06-08 18:36:34 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-e0d8-6a6a-01a7-3f26.rev.sfr.net)
2023-06-08 18:36:46 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-06-08 18:37:52 +0200ripspin(~chatzilla@1.145.186.238)
2023-06-08 18:41:01 +0200raehik(~raehik@82.21.176.157) (Ping timeout: 250 seconds)
2023-06-08 18:41:27 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 250 seconds)
2023-06-08 18:43:16 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-06-08 18:47:31 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-06-08 18:51:01 +0200freeside(~mengwong@103.252.202.189)
2023-06-08 18:51:55 +0200mbuf(~Shakthi@49.207.178.186) (Quit: Leaving)
2023-06-08 18:53:46 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-08 18:55:25 +0200freeside(~mengwong@103.252.202.189) (Ping timeout: 256 seconds)
2023-06-08 18:58:44 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-06-08 19:00:43 +0200jmd_(~jmdaemon@user/jmdaemon)
2023-06-08 19:14:13 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-06-08 19:14:16 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-06-08 19:20:00 +0200nate2(~nate@98.45.169.16)
2023-06-08 19:24:25 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-06-08 19:29:58 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net)
2023-06-08 19:31:31 +0200 <__monty__> tomsmeding: I think that C-like syntax is to be used with the Ivory QuasiQuoters.
2023-06-08 19:32:17 +0200santiagopim(~user@90.167.66.131)
2023-06-08 19:33:38 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-e0d8-6a6a-01a7-3f26.rev.sfr.net)
2023-06-08 19:35:23 +0200ripspin(~chatzilla@1.145.186.238) (Remote host closed the connection)
2023-06-08 19:37:20 +0200gmg(~user@user/gehmehgeh)
2023-06-08 19:40:17 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-e0d8-6a6a-01a7-3f26.rev.sfr.net) (Remote host closed the connection)
2023-06-08 19:43:32 +0200Pickchea(~private@user/pickchea)
2023-06-08 19:49:53 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-06-08 19:51:13 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 250 seconds)
2023-06-08 19:54:41 +0200solaire(~solaire@024-158-119-196.res.spectrum.com)
2023-06-08 19:57:46 +0200NinjaTrappeur(~ninja@user/ninjatrappeur) (Quit: WeeChat 3.8)
2023-06-08 19:58:43 +0200NinjaTrappeur(~ninja@user/ninjatrappeur)
2023-06-08 19:59:02 +0200captnemo(~captnemo@193.32.127.239) (Quit: WeeChat 3.8)
2023-06-08 20:02:07 +0200vandita(~vandit@77-234-80-221.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-06-08 20:03:16 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-08 20:03:47 +0200vandita(~vandit@92-249-182-124.pool.digikabel.hu)
2023-06-08 20:09:04 +0200fendor(~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) (Remote host closed the connection)
2023-06-08 20:09:47 +0200michalz(~michalz@185.246.207.203)
2023-06-08 20:10:49 +0200hamzam3(~hamzam3@2a02:2788:409:ffb7:fb93:f583:d621:f33e)
2023-06-08 20:11:09 +0200 <hamzam3> Hello, does anyone know about lambda-circle calculus ?
2023-06-08 20:11:33 +0200 <hamzam3> I found on a document speaking about staged programming
2023-06-08 20:11:34 +0200 <hamzam3> https://okmij.org/ftp/meta-programming/implementations.html
2023-06-08 20:11:49 +0200 <hamzam3> He tied it to MetaOCaml
2023-06-08 20:13:55 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:683c:8f75:84b3:cebf)
2023-06-08 20:14:26 +0200 <ncf> seems like this is the one https://dl.acm.org/doi/10.1145/3011069
2023-06-08 20:14:45 +0200 <ncf> λ°-calculus
2023-06-08 20:18:03 +0200lortabac(~lortabac@46-253-188-2.dynamic.monzoon.net)
2023-06-08 20:18:25 +0200solaire(~solaire@024-158-119-196.res.spectrum.com) (Ping timeout: 240 seconds)
2023-06-08 20:21:41 +0200 <hamzam3> How did you know ??
2023-06-08 20:22:33 +0200titibandit(~titibandi@user/titibandit)
2023-06-08 20:23:15 +0200 <ncf> google
2023-06-08 20:23:17 +0200 <tomsmeding> __monty__: ah!
2023-06-08 20:23:37 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-06-08 20:23:51 +0200 <ncf> (...led me to http://lambda-the-ultimate.org/node/5507, which has the link)
2023-06-08 20:25:08 +0200 <hamzam3> what did you type in the search bar ?
2023-06-08 20:25:08 +0200lortabac(~lortabac@46-253-188-2.dynamic.monzoon.net) (Ping timeout: 240 seconds)
2023-06-08 20:25:42 +0200shailangsa_(~shailangs@host86-186-133-102.range86-186.btcentralplus.com) (Remote host closed the connection)
2023-06-08 20:26:47 +0200solaire(~solaire@24.158.119.196)
2023-06-08 20:26:51 +0200 <ncf> "lambda-circle calculus", with the quotes
2023-06-08 20:28:36 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-06-08 20:28:36 +0200 <hamzam3> Magnificent thank you !
2023-06-08 20:28:42 +0200hamzam3(~hamzam3@2a02:2788:409:ffb7:fb93:f583:d621:f33e) (Quit: Leaving)
2023-06-08 20:31:26 +0200lortabac(~lortabac@46-253-188-2.dynamic.monzoon.net)
2023-06-08 20:51:02 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-08 20:54:32 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-06-08 20:55:39 +0200johnw_(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-06-08 20:57:07 +0200johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Ping timeout: 265 seconds)
2023-06-08 21:01:47 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 256 seconds)
2023-06-08 21:05:19 +0200solaire(~solaire@24.158.119.196) (Ping timeout: 250 seconds)
2023-06-08 21:08:32 +0200shailangsa(~shailangs@86.186.133.102)
2023-06-08 21:08:51 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-08 21:12:23 +0200 <Athas> So how do you use haskell-mode these days? C-c c-l in a Haskell file just gets me "haskell-session-current-dir: No current directory".
2023-06-08 21:13:15 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-08 21:16:04 +0200 <Athas> Oh wait, now something seems to be working.
2023-06-08 21:22:55 +0200oac_(~oac@72.50.214.210)
2023-06-08 21:26:41 +0200oac_(~oac@72.50.214.210) (Client Quit)
2023-06-08 21:27:03 +0200oac(~oac@72-50-214-210.fttp.usinternet.com)
2023-06-08 21:27:16 +0200 <Hecate> \o/
2023-06-08 21:27:48 +0200jrm(~jrm@user/jrm) (Quit: ciao)
2023-06-08 21:28:43 +0200reverse(~inversed@bcdcac82.skybroadband.com) (Ping timeout: 250 seconds)
2023-06-08 21:29:07 +0200jrm(~jrm@user/jrm)
2023-06-08 21:29:08 +0200zeenk(~zeenk@2a02:2f04:a106:3c00::fba)
2023-06-08 21:30:11 +0200__monty__(~toonn@user/toonn)
2023-06-08 21:33:54 +0200solaire(~solaire@172.102.12.74)
2023-06-08 21:34:06 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-08 21:36:43 +0200jrm(~jrm@user/jrm) (Quit: ciao)
2023-06-08 21:36:47 +0200gurkenglas(~user@dynamic-046-114-180-095.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-06-08 21:38:03 +0200jrm(~jrm@user/jrm)
2023-06-08 21:38:27 +0200reverse(~inversed@188.220.172.130)
2023-06-08 21:39:57 +0200user____3(~user@dynamic-046-114-180-095.46.114.pool.telefonica.de)
2023-06-08 21:40:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:683c:8f75:84b3:cebf) (Remote host closed the connection)
2023-06-08 21:47:33 +0200Square(~Square@user/square)
2023-06-08 21:51:36 +0200user____3(~user@dynamic-046-114-180-095.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-06-08 21:52:13 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds)
2023-06-08 21:56:24 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com)
2023-06-08 22:00:00 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 248 seconds)
2023-06-08 22:01:38 +0200 <chromoblob> what's the etymology of backslash in place of the letter lambda?
2023-06-08 22:02:09 +0200 <dolio> Backslash looks like a lambda.
2023-06-08 22:02:16 +0200 <jade[m]> I would assume that it's the closest character to a lambda on a normal keyboard
2023-06-08 22:02:53 +0200 <chromoblob> is it just that
2023-06-08 22:03:08 +0200cheater_(~Username@user/cheater)
2023-06-08 22:03:50 +0200lortabac(~lortabac@46-253-188-2.dynamic.monzoon.net) (Quit: WeeChat 2.8)
2023-06-08 22:05:59 +0200cheater(~Username@user/cheater) (Ping timeout: 250 seconds)
2023-06-08 22:06:03 +0200cheater_cheater
2023-06-08 22:06:18 +0200 <ncf> human evolution meme but it's ^ → λ → \
2023-06-08 22:06:50 +0200 <ncf> (i think the original lambda notation used ^'s, but don't quote me on that)
2023-06-08 22:07:06 +0200 <dolio> Yeah.
2023-06-08 22:07:46 +0200 <dolio> Carets above the variables being bound.
2023-06-08 22:08:07 +0200 <Hecate> yep
2023-06-08 22:08:55 +0200pavonia(~user@user/siracusa)
2023-06-08 22:11:29 +0200vandita(~vandit@92-249-182-124.pool.digikabel.hu) (Ping timeout: 256 seconds)
2023-06-08 22:11:37 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 250 seconds)
2023-06-08 22:13:13 +0200cafkafk(~cafkafk@fsf/member/cafkafk)
2023-06-08 22:13:42 +0200vandita(~vandit@87.97.2.253)
2023-06-08 22:14:17 +0200 <ncf> this... is not my proudest use of GIMP https://f.monade.li/lambda_evolution.png
2023-06-08 22:15:24 +0200 <EvanR> lol
2023-06-08 22:15:50 +0200 <Rembane> Legendary!
2023-06-08 22:16:08 +0200 <EvanR> at some point haskell used a literal lambda?
2023-06-08 22:17:06 +0200 <ncf> i mean, mathematicians used literal lambdas before haskell was a thing, but you can turn on UnicodeSyntax
2023-06-08 22:18:18 +0200 <EvanR> i mean for the lambda form in haskell code
2023-06-08 22:18:27 +0200 <Helle> I know a mathematician that writes that sort of code
2023-06-08 22:18:30 +0200 <Square> Not sure I get the joke. Can someone explain?
2023-06-08 22:19:06 +0200 <EvanR> i thought the account earlier was that haskell first used ^ for lambda
2023-06-08 22:20:03 +0200 <EvanR> or was it the phoenicians
2023-06-08 22:20:36 +0200 <ncf> i actually have no idea if λ evolved from ^ or if ^ evolved from λ
2023-06-08 22:20:59 +0200 <ncf> or neither
2023-06-08 22:21:08 +0200 <_d0t> wait.. i just tried something and it seems that UnicodeSyntax doesn't include λ
2023-06-08 22:21:12 +0200 <_d0t> am I missing something here?
2023-06-08 22:21:46 +0200 <EvanR> variables can be λ without anything special
2023-06-08 22:21:57 +0200 <_d0t> No, I mean for anonymous functions.
2023-06-08 22:22:18 +0200 <ncf> apparently you can't use λ for functions :( https://gitlab.haskell.org/ghc/ghc/-/issues/1102
2023-06-08 22:22:25 +0200 <_d0t> map (λa b -> a + b) xs
2023-06-08 22:22:27 +0200 <_d0t> like this
2023-06-08 22:22:51 +0200 <EvanR> for maximum lambda, λλ -> λ λ λ
2023-06-08 22:22:56 +0200 <_d0t> >16 years ago
2023-06-08 22:22:58 +0200 <_d0t> dammit :(
2023-06-08 22:23:08 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net)
2023-06-08 22:23:27 +0200trev(~trev@user/trev) (Quit: trev)
2023-06-08 22:23:32 +0200 <EvanR> I heard "all you need is lambda" but this is getting ridiculous
2023-06-08 22:23:34 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-08 22:24:00 +0200 <[Leary]> % :t (\λ x → x)()
2023-06-08 22:24:00 +0200 <yahb2> (\λ x → x)() :: p -> p
2023-06-08 22:24:18 +0200 <[Leary]> "you just need to escape the lambda and call the function" >:)
2023-06-08 22:24:38 +0200user____3(~user@dynamic-046-114-180-095.46.114.pool.telefonica.de)
2023-06-08 22:24:42 +0200 <_d0t> hmmm...
2023-06-08 22:24:48 +0200 <EvanR> oh, obviously. Because lambda is a function, after all
2023-06-08 22:24:51 +0200_d0tthinking about throwing a ghc plugin
2023-06-08 22:26:30 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-08 22:26:50 +0200 <dolio> Bertrand Russell used ^ for variable binding. Then Church used λ.
2023-06-08 22:26:52 +0200 <mauke> I don't understand the desire to use λ instead of \
2023-06-08 22:26:53 +0200 <ncf> just upgrade to agda
2023-06-08 22:27:23 +0200mmhat(~mmh@p200300f1c727020cee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
2023-06-08 22:27:27 +0200 <_d0t> nah.. agda-input in emacs works with haskell too
2023-06-08 22:28:00 +0200 <mauke> it's like seeing someone trying to make a ghc extension so they can use t in place of +
2023-06-08 22:28:14 +0200 <dolio> Then Miranda used \ because it's on an actual keyboard.
2023-06-08 22:28:21 +0200 <probie> mauke: If I'm going to read something as λ, it may as well actually be λ.
2023-06-08 22:28:52 +0200 <EvanR> actual λ
2023-06-08 22:29:42 +0200 <mauke> why would you read \ as l
2023-06-08 22:30:05 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-06-08 22:30:40 +0200 <mauke> "oh yeah, I read 1 + 2 as 'one tee two', so I'd really prefer to write it as 1 t 2"
2023-06-08 22:30:41 +0200 <EvanR> someone just mentioned a student of theirs who spells his name +ison
2023-06-08 22:30:52 +0200 <_d0t> Look, if Scheme allows using λ in place of lambda (the word), why Haskell cannot?
2023-06-08 22:30:57 +0200 <_d0t> http://community.schemewiki.org/?syntax-unicode-lambda
2023-06-08 22:31:15 +0200 <mauke> because Haskell has sensible syntax
2023-06-08 22:31:23 +0200 <_d0t> so does scheme
2023-06-08 22:31:40 +0200 <mauke> debatable
2023-06-08 22:31:44 +0200 <mauke> also, that's just a macro
2023-06-08 22:31:51 +0200 <_d0t> who cares? It works.
2023-06-08 22:32:03 +0200 <probie> It's not like I read a and α the same. Why would I read l and λ the same?
2023-06-08 22:32:13 +0200 <EvanR> _d0t, so make a macro! (TH) xD
2023-06-08 22:32:46 +0200 <_d0t> EvanR: TH is quite limited in what it can do. So are GHC plugins, it seems. They have no access to the parser :(
2023-06-08 22:32:57 +0200 <EvanR> quasi quotation can do a lot
2023-06-08 22:33:06 +0200 <mauke> it works in scheme because people don't try to write (lambdax y -> x+y) in scheme
2023-06-08 22:33:07 +0200 <probie> You can hook in arbitrary source pre-processors into GHC
2023-06-08 22:33:09 +0200 <_d0t> QQ can't affect code outside of QQ
2023-06-08 22:33:21 +0200 <EvanR> neither can lambda?
2023-06-08 22:33:31 +0200 <_d0t> probie: how?
2023-06-08 22:33:37 +0200 <_d0t> do you mean CPP?
2023-06-08 22:34:08 +0200solaire(~solaire@172.102.12.74) (Ping timeout: 240 seconds)
2023-06-08 22:34:10 +0200chomwitt(~chomwitt@94.69.70.96) (Remote host closed the connection)
2023-06-08 22:34:23 +0200 <dolio> Actually, maybe Miranda didn't have function literals.
2023-06-08 22:34:54 +0200 <probie> No, I mean something like `{-# OPTIONS_GHC -pgmF someExecutable #-}`
2023-06-08 22:35:11 +0200solaire(~solaire@024-158-119-196.res.spectrum.com)
2023-06-08 22:35:19 +0200 <_d0t> probie: hmmmm.. i might just check it out. Thanks!
2023-06-08 22:35:33 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-06-08 22:36:44 +0200 <EvanR> \/ was an operator in miranda
2023-06-08 22:37:03 +0200 <mauke> logical or?
2023-06-08 22:37:10 +0200 <dolio> That's or, yeah.
2023-06-08 22:37:45 +0200 <dolio> \/ and &
2023-06-08 22:38:09 +0200 <EvanR> awkward
2023-06-08 22:38:56 +0200 <mauke> should've used /\ for consistency
2023-06-08 22:39:49 +0200 <probie> mauke: to clarify, I'm happy with `λ x -> ` but _not_ `λx -> `. Like how `fun` is used in ocaml/standardml
2023-06-08 22:40:38 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:683c:8f75:84b3:cebf)
2023-06-08 22:41:02 +0200ss4(~wootehfoo@user/wootehfoot)
2023-06-08 22:42:40 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 248 seconds)
2023-06-08 22:42:43 +0200 <tomsmeding> https://play.haskell.org/saved/wSp0kRJG
2023-06-08 22:43:06 +0200 <probie> But in what sounds ambiguous, whilst it's a change I'd like, it's not a change I'd support (not even as a language extension)
2023-06-08 22:43:37 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 240 seconds)
2023-06-08 22:43:53 +0200 <EvanR> nice tomsmeding
2023-06-08 22:44:28 +0200 <EvanR> probie, "I like it, but I'll argue against it to the death"
2023-06-08 22:44:51 +0200 <mauke> to me that sounds like "I only want 'x t y' to work, not 'xty'"
2023-06-08 22:44:56 +0200 <tomsmeding> see ma, using Enum Double _and_ Enum Bool in the same expression!
2023-06-08 22:45:19 +0200 <probie> mauke: I only want "case x of" to work instead of "casexof"?
2023-06-08 22:45:23 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:683c:8f75:84b3:cebf) (Ping timeout: 265 seconds)
2023-06-08 22:45:55 +0200 <mauke> no, that's different
2023-06-08 22:46:16 +0200 <mauke> there is no existing/different punctuation syntax for case expressions
2023-06-08 22:46:40 +0200 <mauke> but there is an existing and consistent syntax for addition, x + y
2023-06-08 22:47:12 +0200 <mauke> (consistent in that + works like other operators made of punctuation)
2023-06-08 22:48:17 +0200 <probie> > let (\\) = (+) in 3 \\ 5
2023-06-08 22:48:18 +0200 <lambdabot> 8
2023-06-08 22:48:28 +0200 <jade[m]> ew
2023-06-08 22:48:48 +0200 <probie> That single `\` for lambda is already a weird case, regardless of it's a symbol or not.
2023-06-08 22:49:09 +0200 <mauke> I disagree with this characterization
2023-06-08 22:49:13 +0200 <mauke> it's not "for lambda"
2023-06-08 22:49:34 +0200 <mauke> just like the + in x + y is not a stand-in for t
2023-06-08 22:49:53 +0200 <mauke> (or tau or whatever)
2023-06-08 22:50:44 +0200 <EvanR> confirmed \ is use for lambda because it looks vaguely remotely similar to λ
2023-06-08 22:50:48 +0200 <dolio> \ is clearly a reference to λ, and + is not a reference to τ, because no one uses τ to denote addition.
2023-06-08 22:51:26 +0200 <mauke> I learned Haskell before lambda calculus, so to me λ is a reference to \
2023-06-08 22:51:54 +0200 <EvanR> acausality is not off the table in haskell
2023-06-08 22:52:40 +0200 <mauke> if you want to argue that that's not historically accurate, I'd say that λ was just a workaround for typographical issues anyway
2023-06-08 22:52:56 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 246 seconds)
2023-06-08 22:53:06 +0200 <mauke> that is, λ wasn't the original notation either
2023-06-08 22:53:55 +0200 <dolio> That doesn't make your other analogy any more sensical.
2023-06-08 22:54:22 +0200 <mauke> it's not a perfect analogy, but I still think it's sensical
2023-06-08 22:54:22 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2023-06-08 22:54:28 +0200 <EvanR> begriffsschrift weird horizontal rule then a semi circular dip containing a variable before it returns to a rule again and goes somewhere around the body?
2023-06-08 22:54:33 +0200 <ncf> just take the λ
2023-06-08 22:57:06 +0200 <mauke> that is, given the choice between two essentially arbitrary notations, neither of which is the "original" (or "true") form, what reason is there to prefer the weird one that steals an identifier from the language?
2023-06-08 22:57:23 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com)
2023-06-08 22:57:25 +0200 <mauke> other than sentimental reasons
2023-06-08 22:58:55 +0200 <ncf> and thus the simply-typed¹ backslash calculus was created
2023-06-08 22:58:58 +0200 <EvanR> because of all my merchandise, desktop wallpaper, tattooes, shell prompts, screensavers, and stupid haircuts for a dog that feature λ
2023-06-08 22:59:03 +0200 <ncf> [1] not the one you think
2023-06-08 22:59:27 +0200 <probie> and the lambda bind logo
2023-06-08 23:00:06 +0200 <mauke> ah. marketing :-)
2023-06-08 23:00:27 +0200gentauro(~gentauro@user/gentauro)
2023-06-08 23:00:30 +0200 <geekosaur> λ𝝺
2023-06-08 23:00:54 +0200 <mauke> ncf: nice
2023-06-08 23:01:29 +0200 <darkling> geekosaur: The intersection of Greek and Welsh?
2023-06-08 23:02:04 +0200dcoutts(~duncan@83.150.42.54)
2023-06-08 23:05:10 +0200oac(~oac@72-50-214-210.fttp.usinternet.com) (Quit: oac)
2023-06-08 23:05:13 +0200 <probie> darkling: It's not too late to visit Λλανφαιρ ΠΓ
2023-06-08 23:08:22 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-06-08 23:18:27 +0200ss4(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-06-08 23:21:23 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 250 seconds)
2023-06-08 23:21:31 +0200nate2(~nate@98.45.169.16)
2023-06-08 23:26:31 +0200nate2(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2023-06-08 23:27:10 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-06-08 23:28:00 +0200Sciencentistguy4(~sciencent@hacksoc/ordinary-member)
2023-06-08 23:30:07 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 240 seconds)
2023-06-08 23:30:07 +0200Sciencentistguy4Sciencentistguy
2023-06-08 23:33:18 +0200jero98772(~jero98772@2800:484:1d7f:5d36::1)
2023-06-08 23:35:25 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:11c4:bb75:150b:3612) (Remote host closed the connection)
2023-06-08 23:35:44 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
2023-06-08 23:39:08 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
2023-06-08 23:40:55 +0200oac_(~oac@2603:3016:2200:f1a0:671c:e5f:9863:6688)
2023-06-08 23:41:26 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-06-08 23:44:11 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-06-08 23:44:41 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:44a:8f26:7d0b:2262)
2023-06-08 23:45:29 +0200user____3gurkenglas
2023-06-08 23:49:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:44a:8f26:7d0b:2262) (Ping timeout: 250 seconds)
2023-06-08 23:50:51 +0200dcoutts(~duncan@83.150.42.54) (Ping timeout: 250 seconds)
2023-06-08 23:51:02 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-e0d8-6a6a-01a7-3f26.rev.sfr.net) (Ping timeout: 246 seconds)
2023-06-08 23:53:02 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-1451-bf6d-2568-8afd.rev.sfr.net)
2023-06-08 23:58:42 +0200cheater_(~Username@user/cheater)
2023-06-08 23:59:45 +0200santiagopim(~user@90.167.66.131) (Ping timeout: 240 seconds)