2024/11/21

2024-11-21 00:02:52 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 244 seconds)
2024-11-21 00:19:25 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-21 00:22:19 +0100falafel(~falafel@2600:1700:99f4:2050:e0e9:d383:2312:4169) (Ping timeout: 264 seconds)
2024-11-21 00:24:58 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-21 00:25:03 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-21 00:42:19 +0100acidjnk_new3(~acidjnk@p200300d6e7283f4324ec082b8a023956.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-11-21 00:49:23 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-11-21 00:54:32 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-21 00:54:48 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-21 01:00:20 +0100sprout(~sprout@84-80-106-227.fixed.kpn.net)
2024-11-21 01:01:05 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-11-21 01:07:10 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-21 01:08:19 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 260 seconds)
2024-11-21 01:14:40 +0100Everything(~Everythin@46.211.136.70) (Quit: leaving)
2024-11-21 01:21:10 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-11-21 01:21:34 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2024-11-21 01:24:05 +0100Lord_of_Life_Lord_of_Life
2024-11-21 01:32:34 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 252 seconds)
2024-11-21 01:32:34 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-11-21 01:38:23 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-11-21 01:42:31 +0100sprotte24(~sprotte24@p200300d16f055c00183f3372b555334d.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2024-11-21 01:44:19 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-21 01:50:42 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 01:53:01 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-21 01:53:21 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2024-11-21 01:53:38 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 01:55:12 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2024-11-21 01:55:26 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 01:59:09 +0100jinsun(~jinsun@user/jinsun) (Ping timeout: 246 seconds)
2024-11-21 02:05:00 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-21 02:08:34 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-21 02:19:01 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) ezzieyguywuf
2024-11-21 02:24:06 +0100divya(~user@139.5.11.231) divya
2024-11-21 02:33:45 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-11-21 02:35:10 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) rekahsoft
2024-11-21 02:38:39 +0100tjbc(~tjbc@user/fliife) (Quit: ZNC - https://znc.in)
2024-11-21 02:40:52 +0100tjbc(~tjbc@user/fliife) fliife
2024-11-21 02:42:36 +0100youthlic(~Thunderbi@user/youthlic) (Ping timeout: 252 seconds)
2024-11-21 02:49:02 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-21 02:57:41 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2024-11-21 03:00:49 +0100ystael(~ystael@user/ystael) (Ping timeout: 248 seconds)
2024-11-21 03:16:14 +0100weary-traveler(~user@user/user363627) user363627
2024-11-21 03:22:21 +0100dyniec(~dyniec@dybiec.info) (Quit: WeeChat 4.2.2)
2024-11-21 03:23:26 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 260 seconds)
2024-11-21 03:24:14 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-11-21 03:28:38 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-21 03:36:29 +0100falafel(~falafel@2600:1700:99f4:2050:19d3:5430:ace8:eee8) falafel
2024-11-21 03:43:23 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-11-21 03:44:37 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2024-11-21 03:45:03 +0100euleritian(~euleritia@dynamic-176-001-001-094.176.1.pool.telefonica.de)
2024-11-21 03:46:34 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2024-11-21 03:51:06 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2024-11-21 03:52:21 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2024-11-21 03:52:46 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-21 04:03:52 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-11-21 04:04:13 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-21 04:04:23 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-11-21 04:06:19 +0100weary-traveler(~user@user/user363627) user363627
2024-11-21 04:10:51 +0100jinsun(~jinsun@user/jinsun) jinsun
2024-11-21 04:12:26 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-21 04:19:11 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2024-11-21 04:24:54 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-11-21 04:27:16 +0100joeyadams(~joeyadams@syn-184-054-105-097.res.spectrum.com)
2024-11-21 05:07:20 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-11-21 05:09:49 +0100aforemny(~aforemny@i59F4C596.versanet.de) aforemny
2024-11-21 05:10:36 +0100aforemny_(~aforemny@2001:9e8:6cf0:9800:3be1:8adc:eacb:81a7) (Ping timeout: 246 seconds)
2024-11-21 05:42:55 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-11-21 05:43:40 +0100sympt(~sympt@user/sympt) sympt
2024-11-21 05:46:42 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Ping timeout: 248 seconds)
2024-11-21 06:00:29 +0100vanishing(~vanishing@user/vanishingideal) vanishingideal
2024-11-21 06:02:30 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 272 seconds)
2024-11-21 06:04:39 +0100vgtw(~vgtw@user/vgtw) (Ping timeout: 260 seconds)
2024-11-21 06:07:11 +0100vanishingvanishingideal
2024-11-21 06:07:21 +0100vgtw(~vgtw@user/vgtw) vgtw
2024-11-21 06:13:29 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-21 06:29:31 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-11-21 06:33:52 +0100 <joeyadams> I wrote a function to return indented JSON when using Aeson. Unlike aeson-pretty, it follows the code order of properties, as long as you override genericToEncoding. https://gist.github.com/joeyadams/63c40e5efd43f9065adf25fa19e498f2 Not sure if I should submit this to the Aeson devs, or if I'm missing a better approach.
2024-11-21 06:35:19 +0100 <joeyadams> It works by encoding with toEncoding, parsing it with Data.Aeson.Decoding.Tokens, then re-encoding it. Not ideal, but still reasonably fast.
2024-11-21 06:42:35 +0100stiell_(~stiell@gateway/tor-sasl/stiell) stiell
2024-11-21 06:53:42 +0100euleritian(~euleritia@dynamic-176-001-001-094.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-21 06:54:00 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 06:56:03 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-11-21 06:57:39 +0100michalz(~michalz@185.246.207.203)
2024-11-21 07:00:27 +0100 <probie> My guess is that it's probably too opinionated to end up in `aeson`. It'll start flame wars about whether indentation should be 2 or 4 :p
2024-11-21 07:11:52 +0100 <joeyadams> The indent level should be `accursedUnutterablePerformIO randomIO`
2024-11-21 07:16:31 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-11-21 07:16:58 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2024-11-21 07:22:59 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-11-21 07:30:03 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-11-21 07:35:15 +0100euleritian(~euleritia@dynamic-176-001-001-094.176.1.pool.telefonica.de)
2024-11-21 07:38:10 +0100jinsun(~jinsun@user/jinsun) (Ping timeout: 248 seconds)
2024-11-21 07:41:41 +0100misterfish(~misterfis@84.53.85.146) misterfish
2024-11-21 07:47:44 +0100Flow(~none@gentoo/developer/flow) (Ping timeout: 260 seconds)
2024-11-21 07:49:04 +0100 <dminuoso> Just submit it. It will be accepted or not, and it not you will have an authoritative answer as to why or what needs changing.
2024-11-21 07:49:12 +0100 <dminuoso> s/and it/and if/
2024-11-21 07:56:33 +0100Flow(~none@gentoo/developer/flow) flow
2024-11-21 07:57:48 +0100falafel(~falafel@2600:1700:99f4:2050:19d3:5430:ace8:eee8) (Ping timeout: 276 seconds)
2024-11-21 08:02:45 +0100 <joeyadams> Thanks. I will probably generalize it a little bit first, so indentation style can be customized. Having an inverse of lbsToTokens could be useful for other reasons.
2024-11-21 08:03:02 +0100joeyadams(~joeyadams@syn-184-054-105-097.res.spectrum.com) (Quit: Leaving)
2024-11-21 08:03:04 +0100acidjnk_new3(~acidjnk@p200300d6e7283f46350e007f6465d732.dip0.t-ipconnect.de) acidjnk
2024-11-21 08:03:48 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2024-11-21 08:03:53 +0100ubert(~Thunderbi@178.115.41.15.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
2024-11-21 08:05:37 +0100kuribas(~user@2a02:1808:89:dc19:cad6:7d80:9b3a:cb55) kuribas
2024-11-21 08:15:22 +0100kuribas`(~user@2a02:1808:89:dc19:ba99:218f:98bd:279b) kuribas
2024-11-21 08:16:48 +0100kuribas(~user@2a02:1808:89:dc19:cad6:7d80:9b3a:cb55) (Ping timeout: 246 seconds)
2024-11-21 08:21:53 +0100kuribas`(~user@2a02:1808:89:dc19:ba99:218f:98bd:279b) (Ping timeout: 265 seconds)
2024-11-21 08:24:49 +0100falafel(~falafel@2600:1700:99f4:2050:5afe:de12:a12b:ab66) falafel
2024-11-21 08:34:27 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-11-21 08:36:47 +0100faultline(~christian@193.32.248.166) (Ping timeout: 252 seconds)
2024-11-21 08:38:56 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-11-21 08:49:34 +0100Square2(~Square4@user/square) Square
2024-11-21 08:51:52 +0100ft(~ft@p508dbc6e.dip0.t-ipconnect.de) (Quit: leaving)
2024-11-21 08:59:44 +0100misterfish(~misterfis@h239071.upc-h.chello.nl) misterfish
2024-11-21 09:00:03 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-21 09:00:45 +0100caconym(~caconym@user/caconym) caconym
2024-11-21 09:07:16 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-21 09:07:45 +0100ephilalethes(~noumenon@2001:fb1:48:afa7:aa7e:eaff:fede:ff94) noumenon
2024-11-21 09:07:52 +0100ephilalethes(~noumenon@2001:fb1:48:afa7:aa7e:eaff:fede:ff94) (Remote host closed the connection)
2024-11-21 09:09:07 +0100ephilalethes(~noumenon@2001:fb1:48:afa7:aa7e:eaff:fede:ff94) noumenon
2024-11-21 09:18:19 +0100falafel(~falafel@2600:1700:99f4:2050:5afe:de12:a12b:ab66) (Ping timeout: 260 seconds)
2024-11-21 09:35:45 +0100euleritian(~euleritia@dynamic-176-001-001-094.176.1.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-11-21 09:39:08 +0100euleritian(~euleritia@dynamic-176-001-001-094.176.1.pool.telefonica.de)
2024-11-21 09:53:08 +0100euleritian(~euleritia@dynamic-176-001-001-094.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-21 09:53:26 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 09:56:33 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-21 09:59:13 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-11-21 10:21:32 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-11-21 10:22:05 +0100ephilalethes(~noumenon@2001:fb1:48:afa7:aa7e:eaff:fede:ff94) (Quit: Leaving)
2024-11-21 10:23:34 +0100sparsaro(~sparsaro@isse-67-79.isse.tu-clausthal.de)
2024-11-21 10:24:25 +0100mesaoptimizer(~mesaoptim@user/PapuaHardyNet) (Quit: zzz)
2024-11-21 10:26:11 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-21 10:34:00 +0100Flow(~none@gentoo/developer/flow) (Ping timeout: 246 seconds)
2024-11-21 10:36:53 +0100mesaoptimizer(~mesaoptim@user/PapuaHardyNet) PapuaHardyNet
2024-11-21 10:37:22 +0100misterfish(~misterfis@h239071.upc-h.chello.nl) (Ping timeout: 272 seconds)
2024-11-21 10:41:26 +0100misterfish(~misterfis@31-161-39-137.biz.kpn.net) misterfish
2024-11-21 10:46:09 +0100jespada_(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) jespada
2024-11-21 10:49:13 +0100Flow(~none@gentoo/developer/flow) flow
2024-11-21 10:49:54 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 260 seconds)
2024-11-21 10:50:20 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-21 10:57:07 +0100mrmr155334346318(~mrmr@user/mrmr) (Ping timeout: 264 seconds)
2024-11-21 10:57:49 +0100ubert(~Thunderbi@2001:871:263:e64f:46f:a5fd:1d60:c636) ubert
2024-11-21 10:58:20 +0100sp1ff(~user@c-73-11-70-111.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
2024-11-21 11:01:05 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-21 11:04:13 +0100CiaoSen(~Jura@2a05:5800:2c3:ff00:ca4b:d6ff:fec1:99da) CiaoSen
2024-11-21 11:05:57 +0100 <kaol> Does GHC still use the evil mangler?
2024-11-21 11:07:58 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-11-21 11:09:20 +0100 <dminuoso> kaol: The evil mangler seems to not be in GHC anymore (ghc/driver/mangler/ghc-asm.lprl)
2024-11-21 11:09:28 +0100 <dminuoso> kaol: That said, the question is better asked in #ghc
2024-11-21 11:17:24 +0100 <dpk> https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/evil-mangler
2024-11-21 11:19:49 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-11-21 11:27:28 +0100 <kaol> Wiki page from 2011. Thanks, it was just something I was reminded of and I was curious and I didn't find any quick definite results with a search.
2024-11-21 11:30:27 +0100__monty__(~toonn@user/toonn) toonn
2024-11-21 11:31:17 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2024-11-21 11:35:33 +0100CiaoSen(~Jura@2a05:5800:2c3:ff00:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds)
2024-11-21 11:58:20 +0100 <hellwolf> I did a hackage search, I couldn't find exact one. But does anyone know of any library that can work with Symbol kind from GHC.TypeLits?
2024-11-21 12:01:53 +0100 <probie> What sort of things do you want to do with them?
2024-11-21 12:02:22 +0100sprotte24(~sprotte24@p200300d16f0b15005143b275c3271dfc.dip0.t-ipconnect.de)
2024-11-21 12:03:30 +0100 <jackdk> hellwolf: https://hackage.haskell.org/package/symparsec
2024-11-21 12:04:17 +0100 <jackdk> GHC.TypeLits also provides ConsSymbol and UnconsSymbol
2024-11-21 12:05:09 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-11-21 12:05:51 +0100 <hellwolf> oh wow, that seems very extensive, great!
2024-11-21 12:08:35 +0100 <hellwolf> probie: I am exploring how far I could go with OverloadedLabel that can do compile-time computation/validation of the Symbol I provide.
2024-11-21 12:08:41 +0100euleritian(~euleritia@dynamic-176-004-196-012.176.4.pool.telefonica.de)
2024-11-21 12:08:48 +0100Putonlalla(~Putonlall@it-cyan.it.jyu.fi) Tuplanolla
2024-11-21 12:08:49 +0100 <hellwolf> But I reach a point to conclude that the trouble is not worth it.
2024-11-21 12:09:48 +0100 <hellwolf> Especially with the use case I have where a runtime error tolerable (since it is a compiler of some sort, so the runtime error really is just a "higher-level" compile-time error.)
2024-11-21 12:10:53 +0100 <hellwolf> I would have liked #0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed checksum address which thorws a type error when checksum fails, vs. a runtime error of (constAddr "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed")
2024-11-21 12:11:32 +0100ash3en(~Thunderbi@193.32.248.167) ash3en
2024-11-21 12:13:03 +0100euleritian(~euleritia@dynamic-176-004-196-012.176.4.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-11-21 12:15:15 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-11-21 12:18:22 +0100Digit(~user@user/digit) (Read error: Connection reset by peer)
2024-11-21 12:20:07 +0100euleritian(~euleritia@dynamic-176-002-081-114.176.2.pool.telefonica.de)
2024-11-21 12:20:10 +0100Digit(~user@user/digit) Digit
2024-11-21 12:24:49 +0100euleritian(~euleritia@dynamic-176-002-081-114.176.2.pool.telefonica.de) (Ping timeout: 260 seconds)
2024-11-21 12:27:02 +0100 <lxsameer> hey folks, I want to have a green thread raeding from a queue (if it is empty just block untill something available) something like CSP style channels that works with green threads. Tried to do it with stm's TBQueue and async, but apparently, you can't block forever in a STM. any idea?
2024-11-21 12:31:02 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-11-21 12:31:35 +0100 <geekosaur> MVar? or Chan if you are actually going that way
2024-11-21 12:32:19 +0100euleritian(~euleritia@dynamic-176-002-008-018.176.2.pool.telefonica.de)
2024-11-21 12:32:58 +0100 <Leary> lxsameer: You can block until another thread writes to the queue, which is what you want anyway?
2024-11-21 12:33:05 +0100 <lxsameer> geekosaur: Mvars? aren't those single value mutable vars?
2024-11-21 12:33:24 +0100 <lxsameer> Leary: yeah, but STM won't allow it apparently,
2024-11-21 12:33:28 +0100 <geekosaur> yes. think of it as a semaphore
2024-11-21 12:33:33 +0100 <geekosaur> in this case
2024-11-21 12:33:36 +0100 <lxsameer> Leary: thread blocked indefinitely in an STM transaction
2024-11-21 12:33:58 +0100 <lxsameer> geekosaur: thanks, but I need a queue or a channel
2024-11-21 12:34:03 +0100 <lxsameer> for many values
2024-11-21 12:34:12 +0100 <geekosaur> go look at how Chan is implemented
2024-11-21 12:34:20 +0100chele(~chele@user/chele) chele
2024-11-21 12:34:24 +0100 <lxsameer> sure thank you
2024-11-21 12:34:32 +0100 <geekosaur> MVars are the building blocks, not the be-all and end-all
2024-11-21 12:34:46 +0100 <geekosaur> you block on the MVar, the actual data is elsewhere
2024-11-21 12:35:01 +0100 <Leary> lxsameer: It's possible you're hitting this: https://well-typed.com/blog/2024/01/when-blocked-indefinitely-is-not-indefinite/
2024-11-21 12:35:46 +0100 <Leary> But generally, blocking until something writes to a queue will "just work", whether it's STM or MVar.
2024-11-21 12:36:08 +0100 <lxsameer> thank you both
2024-11-21 12:40:28 +0100euleritian(~euleritia@dynamic-176-002-008-018.176.2.pool.telefonica.de) (Ping timeout: 265 seconds)
2024-11-21 12:45:48 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-11-21 12:50:15 +0100rynite(~bwkam@user/rynite) rynite
2024-11-21 12:56:22 +0100sprotte24(~sprotte24@p200300d16f0b15005143b275c3271dfc.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2024-11-21 12:56:27 +0100 <hellwolf> > Template Haskell allows staged metaprogramming: writing Haskell code that is executed during the compilation stage, rather than merely compiled so that it can be executed at the later runtime stage.
2024-11-21 12:56:27 +0100 <hellwolf> Wait, isn't that exactly a "constexpr" ? Baring that TemplateHaskell can do IO, which is more than what consexpr needs.
2024-11-21 12:56:29 +0100 <lambdabot> <hint>:1:115: error: parse error on input ‘,’
2024-11-21 12:56:57 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 12:57:21 +0100ash3en(~Thunderbi@193.32.248.167) (Quit: ash3en)
2024-11-21 12:57:21 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-21 12:58:16 +0100 <dminuoso> hellwolf: It's not exactly constexpr, no.
2024-11-21 12:58:50 +0100 <dminuoso> constexpr is just the same as pure code in Haskell
2024-11-21 12:59:26 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 12:59:57 +0100acidjnk_new3(~acidjnk@p200300d6e7283f46350e007f6465d732.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-11-21 12:59:57 +0100 <dminuoso> TemplateHaskell is basically a hook in the compiler that stops during parsing, runs some code (that can do anything, including talking to the network) that produces some AST fragments, and then the compiler inserts these AST fragments and then resumes parsing.
2024-11-21 13:00:08 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-21 13:00:15 +0100 <dminuoso> And its that the code that is being ran itself is Haskell.
2024-11-21 13:00:46 +0100 <hellwolf> I see. I was making a gross comparison. But I find it inspiring reading https://github.com/well-typed/ghc-proposals/blob/wip/level-imports-2024/proposals/0000-splice-impo…
2024-11-21 13:00:51 +0100 <dminuoso> And the TH code has access to all the code that was parsed up until parsing was halted
2024-11-21 13:00:59 +0100 <dminuoso> So you can inspect and look at everything written before (but not after!)
2024-11-21 13:01:19 +0100 <dminuoso> That fact is why its labelled staged.
2024-11-21 13:03:18 +0100acidjnk_new3(~acidjnk@p200300d6e7283f4690995a768218f6fd.dip0.t-ipconnect.de) acidjnk
2024-11-21 13:03:41 +0100 <dminuoso> hellwolf: arguably, *all* of haskell is constexr (in the absence of unsafePerformIO and equivalent constructs)
2024-11-21 13:03:44 +0100 <dminuoso> Even IO is constexpr
2024-11-21 13:04:17 +0100 <dminuoso> `putStrLn "foo"` is a constant expression always yielding the same thing and it has no side effects
2024-11-21 13:04:31 +0100 <hellwolf> indeed, (IO a) is a expression with IO effect that needs an executor to run
2024-11-21 13:04:47 +0100 <dminuoso> % seq (putStrLn "") ()
2024-11-21 13:04:47 +0100 <yahb2> ()
2024-11-21 13:05:31 +0100 <dminuoso> Its why GHC can so liberally optimize :)
2024-11-21 13:05:32 +0100 <kaol> I think of it as Haskell programs having an implicit runIO around them. Just in the same manner as runState etc are.
2024-11-21 13:06:05 +0100 <hellwolf> main function is the entry point for that implicit runIO?
2024-11-21 13:06:08 +0100 <dminuoso> kaol: Id go further and say that executing is not part of Haskell semantics. The RTS handles the actual execution.
2024-11-21 13:06:50 +0100 <hellwolf> (the day when we have a new base written with effectful IO or bluefin IO)
2024-11-21 13:06:58 +0100 <dminuoso> (Well to be fair, we have a bunch of semantics relating to IO behavior actually specified, for example wrt threads)
2024-11-21 13:07:06 +0100 <hellwolf> but not sure if the IOs in base needs that much granuararity
2024-11-21 13:08:18 +0100 <hellwolf> I find linearize some IO operation has more value. You can still close a file handle that had been closed.
2024-11-21 13:09:53 +0100caconym(~caconym@user/caconym) caconym
2024-11-21 13:12:04 +0100 <haskellbridge> <maralorn> Is it correct that a major gc will stop all green threads completely? And how large does my heap have to be to make it realistic that that gc pause takes 2 or more seconds?
2024-11-21 13:12:48 +0100 <haskellbridge> <maralorn> (I don’t think that gc is at fault in my circumstance, but I am not sure either.)
2024-11-21 13:14:51 +0100 <geekosaur> all threads, not just green threads
2024-11-21 13:15:08 +0100 <dminuoso> maralorn: You can use --nonmoving-gc which will concurrently mark-and-sweep for the oldest generation at least.
2024-11-21 13:15:23 +0100 <dminuoso> (So if thats a concern, consider the nonmoving GC)
2024-11-21 13:15:36 +0100pavonia(~user@user/siracusa) siracusa
2024-11-21 13:15:57 +0100 <geekosaur> "green threads" is a bit of nonsense when it comes to ghc; it does n:m threading, so technically all threads are "green threads" but some of them may at various times be resident on different OS threads unless you use `forkOS`
2024-11-21 13:16:25 +0100 <haskellbridge> <maralorn> First I need to find a good reproducer, I guess.^^
2024-11-21 13:16:57 +0100 <geekosaur> also if you use parallel GC the stop-the-world is brief. (early versions of that worked poorly but it was redone around 9.0 or 9.2 and works much better now)
2024-11-21 13:17:21 +0100 <dminuoso> Also, rather than asking how likely it is for GC to take that long, turn on profiling and tell us about how much live memory you have. :-)
2024-11-21 13:17:41 +0100slack1256(~slack1256@179.60.70.224) (Remote host closed the connection)
2024-11-21 13:17:45 +0100 <haskellbridge> <maralorn> Last I checked about 200MB or something …
2024-11-21 13:17:45 +0100 <geekosaur> also RTS statistics can tell you basic information about it, I think
2024-11-21 13:18:03 +0100 <dminuoso> GC on 200MB residency should not take 2 seconds.
2024-11-21 13:18:19 +0100 <dminuoso> Here I was, thinking this is going to be some 117GiB program. :-)
2024-11-21 13:19:21 +0100 <haskellbridge> <maralorn> I mean it kinda happens at a moment where I parse a lot of files so allocations might be much higher than residency.
2024-11-21 13:19:55 +0100 <haskellbridge> <maralorn> But I guess I will not get information out of you without starting profiling. 😄
2024-11-21 13:20:33 +0100 <haskellbridge> <maralorn> But my strong suspicion is anyway that all my capabilities get blocked by unsafe FFI.
2024-11-21 13:20:41 +0100mari-estel(~mari-este@user/mari-estel) (Quit: lunch)
2024-11-21 13:22:20 +0100 <geekosaur> also something that sounds silly but can be somewhat informative: +RTS +B (ring the terminal bell on each GC)
2024-11-21 13:23:17 +0100 <geekosaur> more practically, if you truly suspect GC stop-the-world as the problem, +RTS --long-gc-sync
2024-11-21 13:23:32 +0100 <geekosaur> which prints a warning if the sync time is 1ms or greater
2024-11-21 13:23:43 +0100 <haskellbridge> <maralorn> geekosaur: Yeah, I thought about actually enabling that.
2024-11-21 13:23:57 +0100 <haskellbridge> <maralorn> Ah, that warning sounds useful.
2024-11-21 13:24:00 +0100 <haskellbridge> <maralorn> Thanks for the input.
2024-11-21 13:25:37 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2024-11-21 13:26:26 +0100notzmv(~umar@user/notzmv) (Ping timeout: 248 seconds)
2024-11-21 13:26:30 +0100SlackCoder(~SlackCode@208.26.70.132) SlackCoder
2024-11-21 13:30:11 +0100dminuoso_(~dminuoso@user/dminuoso) dminuoso
2024-11-21 13:30:43 +0100dminuoso(~weechat@user/dminuoso) (Ping timeout: 264 seconds)
2024-11-21 13:36:24 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-11-21 13:44:39 +0100sawilagar(~sawilagar@user/sawilagar) (Quit: Leaving)
2024-11-21 13:47:08 +0100dminuoso_(~dminuoso@user/dminuoso) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-21 13:47:16 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-11-21 13:51:27 +0100rynite(~bwkam@user/rynite) (Quit: WeeChat 4.4.1)
2024-11-21 14:02:57 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: o/)
2024-11-21 14:06:15 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) sciencentistguy
2024-11-21 14:18:40 +0100dyniec(~dyniec@dybiec.info) dyniec
2024-11-21 14:19:03 +0100acidjnk_new3(~acidjnk@p200300d6e7283f4690995a768218f6fd.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-11-21 14:20:46 +0100weary-traveler(~user@user/user363627) user363627
2024-11-21 14:21:12 +0100SlackCoder(~SlackCode@208.26.70.132) (Quit: Leaving)
2024-11-21 14:24:48 +0100divya(~user@139.5.11.231) (Read error: Connection reset by peer)
2024-11-21 14:31:05 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-21 14:32:26 +0100acidjnk_new3(~acidjnk@p200300d6e7283f4690995a768218f6fd.dip0.t-ipconnect.de) acidjnk
2024-11-21 14:42:20 +0100ystael(~ystael@user/ystael) ystael
2024-11-21 14:46:40 +0100mantraofpie(~mantraofp@user/mantraofpie) (Remote host closed the connection)
2024-11-21 14:47:08 +0100mantraofpie(~mantraofp@user/mantraofpie) mantraofpie
2024-11-21 14:49:10 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2024-11-21 14:50:53 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-11-21 14:56:17 +0100rvalue-(~rvalue@user/rvalue) rvalue
2024-11-21 14:57:15 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 265 seconds)
2024-11-21 15:02:16 +0100rvalue-rvalue
2024-11-21 15:24:41 +0100visilii(~visilii@213.24.126.184) (Read error: Connection reset by peer)
2024-11-21 15:25:17 +0100visilii(~visilii@188.254.126.79)
2024-11-21 15:25:44 +0100tabemann(~tabemann@2600:1700:7990:24e0:9f6b:68a6:cce5:e580) (Remote host closed the connection)
2024-11-21 15:25:58 +0100tabemann(~tabemann@2600:1700:7990:24e0:6b57:4130:c4db:e0ca)
2024-11-21 15:27:30 +0100piele(~piele@tbonesteak.creativeserver.net) (Ping timeout: 248 seconds)
2024-11-21 15:30:32 +0100sparsaro_(~sparsaro@staff0984.wlan.tu-clausthal.de)
2024-11-21 15:30:36 +0100sparsaro(~sparsaro@isse-67-79.isse.tu-clausthal.de) (Ping timeout: 272 seconds)
2024-11-21 15:32:25 +0100sparsaro_(~sparsaro@staff0984.wlan.tu-clausthal.de) (Client Quit)
2024-11-21 15:42:41 +0100son0p(~ff@2800:e2:f80:ee7::4) (Remote host closed the connection)
2024-11-21 15:43:39 +0100son0p(~ff@2800:e2:f80:ee7::4) son0p
2024-11-21 15:44:06 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-21 15:48:22 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-21 15:52:13 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-11-21 16:05:29 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-11-21 16:08:50 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-21 16:19:54 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-11-21 16:20:20 +0100euleritian(~euleritia@dynamic-176-006-146-098.176.6.pool.telefonica.de)
2024-11-21 16:20:57 +0100tabemann_(~tabemann@2600:1700:7990:24e0:f270:15d3:9241:b0a1)
2024-11-21 16:22:12 +0100tabemann(~tabemann@2600:1700:7990:24e0:6b57:4130:c4db:e0ca) (Ping timeout: 276 seconds)
2024-11-21 16:45:32 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 16:48:41 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Quit: ash3en)
2024-11-21 16:49:42 +0100misterfish(~misterfis@31-161-39-137.biz.kpn.net) (Ping timeout: 252 seconds)
2024-11-21 16:51:36 +0100weary-traveler(~user@user/user363627) user363627
2024-11-21 16:53:44 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 265 seconds)
2024-11-21 16:54:08 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 255 seconds)
2024-11-21 17:03:40 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 17:04:42 +0100ubert1(~Thunderbi@2001:871:263:e64f:c3d6:d3cf:7900:929b) ubert
2024-11-21 17:06:42 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-11-21 17:06:45 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit)
2024-11-21 17:09:04 +0100ubert(~Thunderbi@2001:871:263:e64f:46f:a5fd:1d60:c636) (Ping timeout: 260 seconds)
2024-11-21 17:09:09 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-11-21 17:09:24 +0100ubert1(~Thunderbi@2001:871:263:e64f:c3d6:d3cf:7900:929b) (Ping timeout: 272 seconds)
2024-11-21 17:15:04 +0100mari-estel(~mari-este@user/mari-estel) (Remote host closed the connection)
2024-11-21 17:30:04 +0100euleritian(~euleritia@dynamic-176-006-146-098.176.6.pool.telefonica.de) (Ping timeout: 260 seconds)
2024-11-21 17:40:00 +0100Alleria(~Alleria@user/alleria) (Remote host closed the connection)
2024-11-21 17:40:44 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 17:43:51 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
2024-11-21 17:51:44 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 265 seconds)
2024-11-21 17:53:44 +0100ddb(ddb@tilde.club) (Quit: WeeChat 4.4.1)
2024-11-21 17:53:44 +0100smtt(smt@user/smtt) (Quit: WeeChat 4.4.2)
2024-11-21 17:59:47 +0100Alleria_(~Alleria@user/alleria) Alleria
2024-11-21 18:00:34 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 18:01:06 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 248 seconds)
2024-11-21 18:05:07 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) Raito_Bezarius
2024-11-21 18:07:57 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 246 seconds)
2024-11-21 18:09:32 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-11-21 18:09:46 +0100Alleria_(~Alleria@user/alleria) (Max SendQ exceeded)
2024-11-21 18:10:04 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-11-21 18:13:36 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 18:16:36 +0100 <c_wraith> Is there an eliminator function for a single level of list constructors somewhere in base? Like b -> (a -> [a] -> b) -> [a] -> b
2024-11-21 18:17:40 +0100 <c_wraith> I guess if it's in the extra package it's not going to be in base
2024-11-21 18:19:04 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 272 seconds)
2024-11-21 18:19:19 +0100sprotte24(~sprotte24@p200300d16f0b150071d6bf12c0876fa2.dip0.t-ipconnect.de)
2024-11-21 18:22:51 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2024-11-21 18:23:09 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 260 seconds)
2024-11-21 18:24:05 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 18:30:26 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds)
2024-11-21 18:32:28 +0100Square(~Square@user/square) Square
2024-11-21 18:35:45 +0100notzmv(~umar@user/notzmv) (Ping timeout: 248 seconds)
2024-11-21 18:36:26 +0100dolio(~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in)
2024-11-21 18:36:38 +0100Square2(~Square4@user/square) (Ping timeout: 245 seconds)
2024-11-21 18:36:38 +0100Alleria(~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-11-21 18:37:46 +0100riatre(~quassel@2001:310:6000:f::5198:1) riatre
2024-11-21 18:39:33 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 18:39:33 +0100 <kaol> :t \b f xs -> maybe b (flip f (tail xs)) $ listToMaybe xs
2024-11-21 18:39:34 +0100 <lambdabot> b -> (a -> [a] -> b) -> [a] -> b
2024-11-21 18:40:40 +0100Alleria(~Alleria@user/alleria) (Client Quit)
2024-11-21 18:40:53 +0100 <kaol> @pl \b f xs -> maybe b (flip f (tail xs)) $ listToMaybe xs
2024-11-21 18:40:53 +0100 <lambdabot> flip flip listToMaybe . (ap .) . (. ((. tail) . flip)) . (.) . maybe
2024-11-21 18:41:10 +0100 <kaol> Ok, that's silly, don't do that.
2024-11-21 18:43:22 +0100YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2024-11-21 18:45:16 +0100YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog
2024-11-21 18:46:18 +0100ft(~ft@p508dbc6e.dip0.t-ipconnect.de) ft
2024-11-21 18:48:56 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2024-11-21 18:49:24 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-11-21 18:52:47 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 18:53:48 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 19:00:27 +0100st_aldini(~Thunderbi@2605:a601:a07c:af00:edd4:453a:4c88:19a0) st_aldini
2024-11-21 19:10:33 +0100fun-safe-math(~fun-safe-@24.21.106.247) fun-safe-math
2024-11-21 19:19:38 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-11-21 19:19:52 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-21 19:22:16 +0100krei-se(~krei-se@p5085d46e.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2024-11-21 19:26:38 +0100Alleria_(~Alleria@user/alleria) Alleria
2024-11-21 19:29:51 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 265 seconds)
2024-11-21 19:35:09 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2024-11-21 19:35:33 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 19:36:50 +0100misterfish(~misterfis@84.53.85.146) misterfish
2024-11-21 19:38:35 +0100krei-se(~krei-se@p57af2132.dip0.t-ipconnect.de) krei-se
2024-11-21 19:41:07 +0100troydm(~troydm@user/troydm) troydm
2024-11-21 19:42:27 +0100briandaed(~root@user/briandaed) briandaed
2024-11-21 19:45:41 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-21 19:46:18 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 19:54:31 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-21 19:58:03 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-11-21 19:59:31 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 264 seconds)
2024-11-21 20:13:05 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-21 20:28:29 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-21 20:30:37 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-11-21 20:36:40 +0100mceresa(~mceresa@user/mceresa) (Ping timeout: 244 seconds)
2024-11-21 20:37:45 +0100mceresa(~mceresa@user/mceresa) mceresa
2024-11-21 20:38:27 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-21 20:38:30 +0100dminuoso(~weechat@user/dminuoso) dminuoso
2024-11-21 20:43:14 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-11-21 20:45:05 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit)
2024-11-21 20:46:02 +0100Natch(~natch@c-92-34-7-158.bbcust.telenor.se) Natch
2024-11-21 20:47:55 +0100youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-11-21 20:48:23 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-21 20:59:25 +0100kadir(~kadir@88.244.21.3) kadir
2024-11-21 21:00:03 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-21 21:00:40 +0100caconym(~caconym@user/caconym) caconym
2024-11-21 21:17:51 +0100todi(~todi@p57803331.dip0.t-ipconnect.de) (Remote host closed the connection)
2024-11-21 21:20:21 +0100CoolMa7(~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) CoolMa7
2024-11-21 21:22:15 +0100kadir(~kadir@88.244.21.3) (Quit: WeeChat 4.4.3)
2024-11-21 21:24:21 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-21 21:25:22 +0100son0p(~ff@2800:e2:f80:ee7::4) (Ping timeout: 265 seconds)
2024-11-21 21:34:29 +0100Alleria_(~Alleria@user/alleria) (Ping timeout: 255 seconds)
2024-11-21 21:36:44 +0100stef204(~stef204@user/stef204) stef204
2024-11-21 21:38:56 +0100CoolMa7(~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Quit: My Mac has gone to sleep. ZZZzzz…)
2024-11-21 21:39:22 +0100briandaed(~root@user/briandaed) (Remote host closed the connection)
2024-11-21 21:41:43 +0100stef204(~stef204@user/stef204) (Quit: WeeChat 4.2.1)
2024-11-21 21:47:40 +0100todi(~todi@p57803331.dip0.t-ipconnect.de) todi
2024-11-21 21:48:33 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-21 21:53:39 +0100ph88(~ph88@2a02:8109:9e26:c800:442e:9ffe:6749:6de1) ph88
2024-11-21 21:54:42 +0100 <ph88> implementing tree zipper to change the shape of an AST, is that possible to do with GHC.Generics? how would that look like, i asked ChatGPT but it can't make much of it
2024-11-21 21:57:55 +0100 <glguy> Can you show an example of doing it by hand?
2024-11-21 21:58:00 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 21:58:03 +0100youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-11-21 21:58:18 +0100 <ph88> no i haven't tried anything yet. I'
2024-11-21 21:58:19 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-21 21:58:36 +0100 <ph88> no i haven't tried anything yet. I'm still in exploration phase comparing several approaches
2024-11-21 21:59:24 +0100 <glguy> Once you make a manual version it'll be easier to ask if generics can do the same transformation
2024-11-21 21:59:38 +0100Alleria(~Alleria@user/alleria) (Read error: Connection reset by peer)
2024-11-21 22:00:21 +0100 <ph88> i kind of ruled out Data.Data, syb, free monads with fixpoint types. And i'm left with tree zipper with GHC.Generics and Recursion Schemes (library)
2024-11-21 22:00:33 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 22:00:54 +0100 <ph88> i guess at this point i will try to implement the two possible approaches since chatgpt gets stuck giving me any better advice
2024-11-21 22:06:38 +0100 <glguy> ph88: I was hoping to see the hand-written example of what you wanted to automate because I'm unclear what you're even trying to do
2024-11-21 22:07:34 +0100zenmov(~eax@user/zenmov) (Ping timeout: 260 seconds)
2024-11-21 22:08:25 +0100 <ph88> i want to inspect nodes in an AST when going up and down, then look around (up and down), to change the shape of the AST or attach more information to the nodes
2024-11-21 22:08:59 +0100 <Rembane> ph88: Have you taken a look at this one? https://www.michaelpj.com/blog/2020/08/02/lenses-for-tree-traversals.html
2024-11-21 22:09:06 +0100 <Rembane> ph88: Any particular shape changes you want to do?
2024-11-21 22:10:11 +0100 <ph88> Rembane, thanks for the link. However my AST is not a big sum type but several separate types.
2024-11-21 22:11:18 +0100 <ph88> I want the ability to change the AST. But at the moment i'm looking to add some information to nodes. Specifically i need to know when there is a function call to which other node this call has to go. (i will number the nodes by the way)
2024-11-21 22:11:44 +0100 <Rembane> ph88: You can write many traversals instead of one, but that might still not solve your problem.
2024-11-21 22:12:22 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-21 22:14:06 +0100zenmov(~eax@103.212.156.119)
2024-11-21 22:17:25 +0100Alleria(~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-11-21 22:18:04 +0100 <haskellbridge> <Bowuigi> ph88 zippers can be done with multirec https://hackage.haskell.org/package/zipper, with Typeable https://hackage.haskell.org/package/pez, with Data https://hackage.haskell.org/package/syz and probably with more stuff but those were the first hits on Hackage
2024-11-21 22:18:30 +0100zenmov(~eax@103.212.156.119) (Ping timeout: 252 seconds)
2024-11-21 22:21:18 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 22:21:55 +0100michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2024-11-21 22:24:07 +0100 <ph88> Bowuigi ye i saw all of those and decided to try two different approaches first, thanks though
2024-11-21 22:26:01 +0100CoolMa7(~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) CoolMa7
2024-11-21 22:28:04 +0100ash3en(~Thunderbi@31.16.203.214) ash3en
2024-11-21 22:28:51 +0100 <haskellbridge> <Bowuigi> Fair enough
2024-11-21 22:32:42 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-11-21 22:34:41 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 248 seconds)
2024-11-21 22:36:19 +0100zenmov(~zenmov@user/zenmov) zenmov
2024-11-21 22:36:27 +0100misterfish(~misterfis@84.53.85.146) misterfish
2024-11-21 22:38:51 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
2024-11-21 22:42:19 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2024-11-21 22:46:21 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
2024-11-21 22:48:02 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-21 22:51:02 +0100Everything(~Everythin@46-133-186-175.mobile.vf-ua.net) Everything
2024-11-21 22:52:12 +0100xff0x(~xff0x@2405:6580:b080:900:e7b6:fba6:14b7:d70c) (Ping timeout: 276 seconds)
2024-11-21 22:53:23 +0100euphores(~SASL_euph@user/euphores) euphores
2024-11-21 22:53:44 +0100jinsun(~jinsun@user/jinsun) jinsun
2024-11-21 22:53:54 +0100xff0x(~xff0x@2405:6580:b080:900:c592:c633:1797:9bb3)
2024-11-21 22:55:56 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds)
2024-11-21 22:57:33 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-11-21 22:58:38 +0100mange(~user@user/mange) mange
2024-11-21 23:05:25 +0100_________(~nobody@user/noodly) (Ping timeout: 265 seconds)
2024-11-21 23:13:06 +0100ystael(~ystael@user/ystael) (Read error: Connection reset by peer)
2024-11-21 23:19:41 +0100zenmov(~zenmov@user/zenmov) (Quit: leaving)
2024-11-21 23:25:37 +0100ash3en(~Thunderbi@31.16.203.214) (Quit: ash3en)
2024-11-21 23:25:48 +0100CoolMa7(~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Quit: My Mac has gone to sleep. ZZZzzz…)
2024-11-21 23:28:31 +0100Square(~Square@user/square) (Ping timeout: 252 seconds)
2024-11-21 23:35:06 +0100ubert(~Thunderbi@178.115.41.15.wireless.dyn.drei.com) ubert
2024-11-21 23:36:04 +0100ash3en(~Thunderbi@31.16.203.214) ash3en
2024-11-21 23:40:25 +0100Alleria(~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-11-21 23:47:43 +0100zenmov_(~zenmov@103.212.156.108)
2024-11-21 23:48:20 +0100zenmov_(~zenmov@103.212.156.108) (Changing host)
2024-11-21 23:48:20 +0100zenmov_(~zenmov@user/zenmov) zenmov
2024-11-21 23:48:39 +0100ubert(~Thunderbi@178.115.41.15.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2024-11-21 23:50:25 +0100jle`(~jle`@2603:8001:3b02:84d4:4ba:cd34:52ca:7a5) (Ping timeout: 244 seconds)
2024-11-21 23:51:13 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-21 23:51:18 +0100haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
2024-11-21 23:51:46 +0100jle`(~jle`@2603:8001:3b02:84d4:6136:217c:de43:8e5e) jle`
2024-11-21 23:51:56 +0100haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) hackager
2024-11-21 23:51:56 +0100ChanServ+v haskellbridge