2025/09/24

2025-09-24 00:00:07 +0200weary-traveler(~user@user/user363627) user363627
2025-09-24 00:02:23 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 250 seconds)
2025-09-24 00:04:44 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 00:05:40 +0200Googulator98(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 00:05:42 +0200Googulator55(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 00:08:15 +0200peterbecich(~Thunderbi@syn-172-222-149-049.res.spectrum.com) peterbecich
2025-09-24 00:12:14 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-09-24 00:16:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 00:18:01 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-09-24 00:20:16 +0200BAM-BAM(~0x00000b@2001:8a0:d1c1:4a00:49e:6fcd:3f13:801c)
2025-09-24 00:21:23 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-09-24 00:22:38 +0200peterbecich(~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 244 seconds)
2025-09-24 00:25:54 +0200BAM-BAM(~0x00000b@2001:8a0:d1c1:4a00:49e:6fcd:3f13:801c) (Read error: Connection reset by peer)
2025-09-24 00:31:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 00:36:35 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 00:39:50 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2025-09-24 00:41:19 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2025-09-24 00:43:27 +0200Pozyomka(~pyon@user/pyon) (Read error: Connection reset by peer)
2025-09-24 00:43:35 +0200Googulator98(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 00:43:48 +0200Googulator98(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 00:43:57 +0200troydm(~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2025-09-24 00:47:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 00:52:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 00:54:21 +0200trickard_(~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-24 00:54:35 +0200trickard_(~trickard@cpe-49-98-47-163.wireline.com.au)
2025-09-24 00:55:29 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-09-24 01:01:15 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 01:03:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 01:06:05 +0200Pozyomka(~pyon@user/pyon) pyon
2025-09-24 01:07:45 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-09-24 01:08:00 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 01:10:43 +0200Googulator6(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 01:10:43 +0200Googulator98(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 01:14:29 +0200mud(~mud@user/kadoban) (Ping timeout: 260 seconds)
2025-09-24 01:14:58 +0200kaskal(~kaskal@84-115-230-9.cable.dynamic.surfer.at) (Ping timeout: 256 seconds)
2025-09-24 01:16:33 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-09-24 01:17:56 +0200img(~img@user/img) img
2025-09-24 01:19:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 01:21:20 +0200img(~img@user/img) (Client Quit)
2025-09-24 01:22:37 +0200img(~img@user/img) img
2025-09-24 01:23:15 +0200acidjnk(~acidjnk@p200300d6e71719784593b070e4f06c0e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-09-24 01:23:36 +0200mud(~mud@user/kadoban) kadoban
2025-09-24 01:25:34 +0200itaipu(~itaipu@168.121.97.28) (Ping timeout: 244 seconds)
2025-09-24 01:26:28 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-09-24 01:26:42 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 01:28:35 +0200itaipu(~itaipu@168.121.97.28) itaipu
2025-09-24 01:32:09 +0200Googulator6(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 01:32:23 +0200Googulator6(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 01:34:10 +0200sprotte24(~sprotte24@p200300d16f27a100a16ca773ac91c416.dip0.t-ipconnect.de) (Quit: Leaving)
2025-09-24 01:38:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 01:43:38 +0200itaipu(~itaipu@168.121.97.28) (Ping timeout: 258 seconds)
2025-09-24 01:44:17 +0200itaipu(~itaipu@168.121.97.28) itaipu
2025-09-24 01:45:23 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-09-24 01:50:37 +0200Googulator27(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 01:50:46 +0200Googulator6(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 01:56:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 02:01:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 02:04:11 +0200kaskal(~kaskal@84-115-235-223.cable.dynamic.surfer.at) kaskal
2025-09-24 02:06:44 +0200Tuplanolla(~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) Tuplanolla
2025-09-24 02:10:05 +0200trickard_trickard
2025-09-24 02:12:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 02:15:42 +0200Googulator69(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 02:15:42 +0200Googulator27(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 02:16:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 02:20:53 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-09-24 02:21:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-09-24 02:21:28 +0200karenw_(~karenw@user/karenw) (Ping timeout: 244 seconds)
2025-09-24 02:23:32 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-09-24 02:25:46 +0200emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2025-09-24 02:27:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 02:28:36 +0200Digit(~user@user/digit) (Ping timeout: 244 seconds)
2025-09-24 02:30:13 +0200Digit(~user@user/digit) Digit
2025-09-24 02:30:48 +0200Axma59494(~Axman6@user/axman6) Axman6
2025-09-24 02:32:47 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 250 seconds)
2025-09-24 02:33:06 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-09-24 02:35:42 +0200Googulator94(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 02:35:42 +0200Googulator69(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 02:39:22 +0200Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Ping timeout: 248 seconds)
2025-09-24 02:43:26 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-09-24 02:43:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 02:45:19 +0200xff0x(~xff0x@2405:6580:b080:900:58c5:f92c:e5e0:d47f) (Ping timeout: 250 seconds)
2025-09-24 02:46:19 +0200kerxphilox(~kerxphilo@2603:8001:9100:2aab:1432:3f88:100a:2952) kerxphilox
2025-09-24 02:47:15 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-09-24 02:47:52 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-09-24 02:48:20 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 02:55:42 +0200Googulator94(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 02:55:42 +0200Googulator45(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 02:59:26 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 03:03:56 +0200Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) Raito_Bezarius
2025-09-24 03:04:26 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-09-24 03:05:58 +0200Googulator45(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 03:06:02 +0200Googulator69(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 03:07:14 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-09-24 03:10:37 +0200Googulator69(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Client Quit)
2025-09-24 03:10:40 +0200Googulator9(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 03:11:13 +0200Tuplanolla(~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Quit: Leaving.)
2025-09-24 03:12:00 +0200jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
2025-09-24 03:14:10 +0200jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2025-09-24 03:14:41 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2025-09-24 03:15:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 03:21:12 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-09-24 03:26:23 +0200jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 258 seconds)
2025-09-24 03:28:31 +0200jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2025-09-24 03:30:15 +0200arandombit(~arandombi@2603:7000:4600:ffbe:7054:843b:4b80:a9d)
2025-09-24 03:30:15 +0200arandombit(~arandombi@2603:7000:4600:ffbe:7054:843b:4b80:a9d) (Changing host)
2025-09-24 03:30:15 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 03:32:46 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 03:35:27 +0200kilolympus3(~kilolympu@vmi1102682.contaboserver.net) kilolympus
2025-09-24 03:36:30 +0200A_Dragon(A_D@libera/staff/dragon) ad
2025-09-24 03:37:27 +0200dobblego(~dibblego@116.255.1.119)
2025-09-24 03:37:27 +0200dobblego(~dibblego@116.255.1.119) (Changing host)
2025-09-24 03:37:27 +0200dobblego(~dibblego@haskell/developer/dibblego) dibblego
2025-09-24 03:37:30 +0200koz_(~koz@121.99.240.58)
2025-09-24 03:37:35 +0200thaumavorio_(~thaumavor@thaumavor.io) thaumavorio
2025-09-24 03:37:48 +0200jaror3(~jaror@5070ACC7.static.ziggozakelijk.nl)
2025-09-24 03:37:54 +0200sam113102(~sam@modemcable200.189-202-24.mc.videotron.ca) sam113101
2025-09-24 03:38:05 +0200YoungFrawg(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog
2025-09-24 03:38:37 +0200shachaf_(~shachaf@li227-219.members.linode.com)
2025-09-24 03:38:43 +0200jjhoo_(~jahakala@user/jjhoo) jjhoo
2025-09-24 03:38:58 +0200bairyn(~bairyn@MAIL.DIGITALKINGDOM.ORG) ByronJohnson
2025-09-24 03:38:59 +0200jmcantre1(~weechat@user/jmcantrell) jmcantrell
2025-09-24 03:39:01 +0200Maxdaman1us(~Maxdamant@user/maxdamantus) Maxdamantus
2025-09-24 03:39:02 +0200thaumavorio(~thaumavor@thaumavor.io) (Ping timeout: 244 seconds)
2025-09-24 03:39:02 +0200ruvam(~ruvam@user/ruvam) (Ping timeout: 244 seconds)
2025-09-24 03:39:02 +0200koz(~koz@121.99.240.58) (Ping timeout: 244 seconds)
2025-09-24 03:39:02 +0200jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
2025-09-24 03:39:02 +0200shachaf(~shachaf@user/shachaf) (Ping timeout: 244 seconds)
2025-09-24 03:39:02 +0200ByronJohnson(~bairyn@MAIL.DIGITALKINGDOM.ORG) (Ping timeout: 244 seconds)
2025-09-24 03:39:02 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200davean(~davean@davean.sciesnet.net) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200jjhoo(~jahakala@user/jjhoo) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200jaror(~jaror@5070ACC7.static.ziggozakelijk.nl) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200kilolympus(~kilolympu@vmi1102682.contaboserver.net) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200ringo__(~ringo@157.230.117.128) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200traxex(traxex@user/traxex) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200dpk(~dpk@jains.nonceword.org) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200sam113101(~sam@modemcable200.189-202-24.mc.videotron.ca) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200connrs(~connrs@conners.plus.com) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200byorgey(~byorgey@user/byorgey) (Ping timeout: 244 seconds)
2025-09-24 03:39:03 +0200dobblegodibblego
2025-09-24 03:39:04 +0200kilolympus3kilolympus
2025-09-24 03:39:04 +0200jaror3jaror
2025-09-24 03:39:06 +0200sam113102sam113101
2025-09-24 03:39:11 +0200YoungFrawgYoungFrog
2025-09-24 03:39:13 +0200ringo__(~ringo@157.230.117.128) ringo_
2025-09-24 03:39:23 +0200byorgey(~byorgey@155.138.238.211)
2025-09-24 03:39:23 +0200byorgey(~byorgey@155.138.238.211) (Changing host)
2025-09-24 03:39:23 +0200byorgey(~byorgey@user/byorgey) byorgey
2025-09-24 03:39:26 +0200connrs(~connrs@user/connrs) connrs
2025-09-24 03:39:38 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) gabriel_sevecek
2025-09-24 03:40:31 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-09-24 03:43:00 +0200gAy_Dragon(A_D@libera/staff/dragon) (Ping timeout: 610 seconds)
2025-09-24 03:43:08 +0200Axma59494Axman6
2025-09-24 03:46:19 +0200yegor(~yegor@user/yegor) (Quit: znc)
2025-09-24 03:46:57 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-09-24 03:48:15 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) koala_man
2025-09-24 03:48:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 03:49:33 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-09-24 03:49:58 +0200yegor(~yegor@user/yegor) yegor
2025-09-24 03:50:18 +0200davean(~davean@davean.sciesnet.net) davean
2025-09-24 03:51:43 +0200ruvam(~ruvam@user/ruvam) ruvam
2025-09-24 03:51:53 +0200Square(~Square4@user/square) (Ping timeout: 244 seconds)
2025-09-24 03:53:35 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 03:54:21 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 258 seconds)
2025-09-24 03:59:12 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-09-24 04:00:38 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Remote host closed the connection)
2025-09-24 04:01:59 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-09-24 04:02:02 +0200ystael(~ystael@user/ystael) (Ping timeout: 258 seconds)
2025-09-24 04:02:15 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Read error: Connection reset by peer)
2025-09-24 04:03:56 +0200simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-09-24 04:04:13 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 265 seconds)
2025-09-24 04:04:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 04:05:40 +0200Ranhir(~Ranhir@157.97.53.139) (Ping timeout: 265 seconds)
2025-09-24 04:08:55 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 04:13:02 +0200yegor(~yegor@user/yegor) (Quit: znc)
2025-09-24 04:14:23 +0200oxapentane(~oxapentan@user/oxapentane) (*.net *.split)
2025-09-24 04:14:23 +0200acidsys(~crameleon@openSUSE/member/crameleon) (*.net *.split)
2025-09-24 04:14:24 +0200dyniec(~dyniec@dybiec.info) (*.net *.split)
2025-09-24 04:14:24 +0200V(~v@ircpuzzles/2022/april/winner/V) (*.net *.split)
2025-09-24 04:14:24 +0200andreas303(andreas303@is.drunk.and.ready-to.party) (*.net *.split)
2025-09-24 04:14:24 +0200nschoe(~nschoe@2a01:e0a:8e:a190:ec04:a931:3ffa:9fec) (*.net *.split)
2025-09-24 04:14:24 +0200pmk(6afe4476a1@2a03:6000:1812:100::26d) (*.net *.split)
2025-09-24 04:14:24 +0200TimWolla(~timwolla@2a01:4f8:150:6153:beef::6667) (*.net *.split)
2025-09-24 04:14:24 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (*.net *.split)
2025-09-24 04:14:24 +0200Fischmiep(~Fischmiep@user/Fischmiep) (*.net *.split)
2025-09-24 04:14:24 +0200sefidel(~sefidel@user/sefidel) (*.net *.split)
2025-09-24 04:14:24 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (*.net *.split)
2025-09-24 04:14:24 +0200yahb2(~yahb2@user/tomsmeding/bot/yahb2) (*.net *.split)
2025-09-24 04:14:24 +0200chymera(~chymera@ns1000526.ip-51-81-46.us) (*.net *.split)
2025-09-24 04:14:25 +0200robobub(uid248673@id-248673.uxbridge.irccloud.com) (*.net *.split)
2025-09-24 04:14:25 +0200alethkit(23bd17ddc6@sourcehut/user/alethkit) (*.net *.split)
2025-09-24 04:14:25 +0200sa(sid1055@id-1055.tinside.irccloud.com) (*.net *.split)
2025-09-24 04:14:25 +0200geekosaur(sid609282@xmonad/geekosaur) (*.net *.split)
2025-09-24 04:14:25 +0200fn_lumi(3d621153a5@2a03:6000:1812:100::df7) (*.net *.split)
2025-09-24 04:14:25 +0200b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) (*.net *.split)
2025-09-24 04:14:25 +0200semifunctor(~omnifunct@user/semifunctor) (*.net *.split)
2025-09-24 04:14:25 +0200hook54321(sid149355@user/hook54321) (*.net *.split)
2025-09-24 04:14:25 +0200nshepperd2(~nshepperd@2a01:4f9:3b:4cc9::2) (*.net *.split)
2025-09-24 04:14:25 +0200Guest7116(~ds@2a02:8071:884:db60:f6b3:1ff:fe2f:d0a) (*.net *.split)
2025-09-24 04:14:25 +0200Goodbye_Vincent1(cyvahl@freakshells.net) (*.net *.split)
2025-09-24 04:14:43 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-09-24 04:15:46 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-09-24 04:18:54 +0200Ranhir(~Ranhir@157.97.53.139) Ranhir
2025-09-24 04:19:43 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 04:20:23 +0200oxapentane(~oxapentan@user/oxapentane) oxapentane
2025-09-24 04:20:23 +0200acidsys(~crameleon@openSUSE/member/crameleon) crameleon
2025-09-24 04:20:23 +0200dyniec(~dyniec@dybiec.info) dyniec
2025-09-24 04:20:23 +0200V(~v@ircpuzzles/2022/april/winner/V) V
2025-09-24 04:20:23 +0200andreas303(andreas303@is.drunk.and.ready-to.party) andreas303
2025-09-24 04:20:23 +0200nschoe(~nschoe@2a01:e0a:8e:a190:ec04:a931:3ffa:9fec) nschoe
2025-09-24 04:20:23 +0200pmk(6afe4476a1@2a03:6000:1812:100::26d) pmk
2025-09-24 04:20:23 +0200TimWolla(~timwolla@2a01:4f8:150:6153:beef::6667) TimWolla
2025-09-24 04:20:23 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-09-24 04:20:23 +0200Fischmiep(~Fischmiep@user/Fischmiep) Fischmiep
2025-09-24 04:20:23 +0200sefidel(~sefidel@user/sefidel) sefidel
2025-09-24 04:20:23 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) szkl
2025-09-24 04:20:23 +0200yahb2(~yahb2@user/tomsmeding/bot/yahb2) yahb2
2025-09-24 04:20:23 +0200chymera(~chymera@ns1000526.ip-51-81-46.us) chymera
2025-09-24 04:20:23 +0200robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2025-09-24 04:20:23 +0200alethkit(23bd17ddc6@sourcehut/user/alethkit) alethkit
2025-09-24 04:20:23 +0200sa(sid1055@id-1055.tinside.irccloud.com) sa
2025-09-24 04:20:23 +0200geekosaur(sid609282@xmonad/geekosaur) geekosaur
2025-09-24 04:20:23 +0200fn_lumi(3d621153a5@2a03:6000:1812:100::df7) fn_lumi
2025-09-24 04:20:23 +0200b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) b0o
2025-09-24 04:20:23 +0200semifunctor(~omnifunct@user/semifunctor) omnifunctor
2025-09-24 04:20:23 +0200hook54321(sid149355@user/hook54321) hook54321
2025-09-24 04:20:23 +0200nshepperd2(~nshepperd@2a01:4f9:3b:4cc9::2) nshepperd
2025-09-24 04:20:23 +0200Guest7116(~ds@2a02:8071:884:db60:f6b3:1ff:fe2f:d0a)
2025-09-24 04:20:23 +0200Goodbye_Vincent1(cyvahl@freakshells.net) Goodbye_Vincent
2025-09-24 04:20:23 +0200tungsten.libera.chat+v yahb2
2025-09-24 04:20:37 +0200Googulator48(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 04:20:40 +0200Googulator9(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 04:20:46 +0200andreas303(andreas303@is.drunk.and.ready-to.party) (Max SendQ exceeded)
2025-09-24 04:20:58 +0200 <geekosaur> whew
2025-09-24 04:21:05 +0200andreas303(andreas303@is.drunk.and.ready-to.party) andreas303
2025-09-24 04:21:19 +0200 <geekosaur> irccloud was stuck on the wrong end of the split
2025-09-24 04:21:20 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 244 seconds)
2025-09-24 04:22:47 +0200robobub(uid248673@id-248673.uxbridge.irccloud.com) (Ping timeout: 241 seconds)
2025-09-24 04:24:20 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Ping timeout: 244 seconds)
2025-09-24 04:24:20 +0200sa(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 244 seconds)
2025-09-24 04:25:43 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 255 seconds)
2025-09-24 04:25:57 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) szkl
2025-09-24 04:26:24 +0200sa(sid1055@id-1055.tinside.irccloud.com) sa
2025-09-24 04:26:30 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 04:30:57 +0200robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2025-09-24 04:34:12 +0200arandombit(~arandombi@2603:7000:4600:ffbe:7054:843b:4b80:a9d)
2025-09-24 04:34:12 +0200arandombit(~arandombi@2603:7000:4600:ffbe:7054:843b:4b80:a9d) (Changing host)
2025-09-24 04:34:12 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 04:36:14 +0200haskellbridge(~hackager@syn-096-028-224-214.res.spectrum.com) (Remote host closed the connection)
2025-09-24 04:37:46 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 04:39:21 +0200haskellbridge(~hackager@syn-096-028-224-214.res.spectrum.com) hackager
2025-09-24 04:39:22 +0200ChanServ+v haskellbridge
2025-09-24 04:42:34 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-09-24 04:44:15 +0200comonad(~comonad@p200300d027244d00b442e34853d3dae3.dip0.t-ipconnect.de)
2025-09-24 04:45:05 +0200comonad(~comonad@p200300d027244d00b442e34853d3dae3.dip0.t-ipconnect.de) (Client Quit)
2025-09-24 04:45:48 +0200Googulator91(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 04:46:14 +0200Googulator48(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 04:46:21 +0200kerxphilox_(~kerxphilo@2603:8001:9100:2aab:1432:3f88:100a:2952)
2025-09-24 04:48:49 +0200kerxphilox(~kerxphilo@2603:8001:9100:2aab:1432:3f88:100a:2952) (Ping timeout: 250 seconds)
2025-09-24 04:50:03 +0200Guest9267(yegor@2600:1700:b4e0:5c40::2)
2025-09-24 04:51:38 +0200Guest9267(yegor@2600:1700:b4e0:5c40::2) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-09-24 04:52:00 +0200yegorc(~yegor@user/yegor) yegor
2025-09-24 04:52:02 +0200kerxphilox__(~kerxphilo@2603:8001:9100:2aab:1432:3f88:100a:2952)
2025-09-24 04:52:27 +0200yegorcyegor
2025-09-24 04:53:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 04:55:19 +0200kerxphilox_(~kerxphilo@2603:8001:9100:2aab:1432:3f88:100a:2952) (Ping timeout: 250 seconds)
2025-09-24 04:55:31 +0200mange(~mange@user/mange) mange
2025-09-24 04:56:57 +0200pyrex(~pyrex@user/pyrex) (Read error: Connection reset by peer)
2025-09-24 04:57:47 +0200pyrex(~pyrex@user/pyrex) pyrex
2025-09-24 04:58:21 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-09-24 05:02:33 +0200jmcantre1(~weechat@user/jmcantrell) (Quit: WeeChat 4.7.1)
2025-09-24 05:05:15 +0200jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2025-09-24 05:05:21 +0200jmcantrell_jmcantrell
2025-09-24 05:09:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 05:09:37 +0200pyrex(~pyrex@user/pyrex) (Ping timeout: 250 seconds)
2025-09-24 05:14:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 05:15:40 +0200Googulator91(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 05:15:42 +0200Googulator53(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 05:25:06 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 05:30:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 05:31:05 +0200Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-09-24 05:31:53 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2025-09-24 05:32:30 +0200chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-09-24 05:39:11 +0200comonad(~comonad@p200300d027244d00b442e34853d3dae3.dip0.t-ipconnect.de)
2025-09-24 05:40:53 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 05:42:17 +0200sp1ff(~user@2601:1c2:4900:8209::a41) (Remote host closed the connection)
2025-09-24 05:44:47 +0200dutchie(~dutchie@user/dutchie) (Remote host closed the connection)
2025-09-24 05:45:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 05:47:15 +0200dutchie(~dutchie@user/dutchie) dutchie
2025-09-24 05:49:18 +0200 <haskellbridge> <Liamzee> fff, kimi is right, no?
2025-09-24 05:49:30 +0200 <haskellbridge> <Liamzee> I always thought map was a metamorphism, according to kimi, it's an anamorphism
2025-09-24 05:51:23 +0200tessier(~tessier@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2025-09-24 05:51:33 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 240 seconds)
2025-09-24 05:51:42 +0200pyrex(~pyrex@user/pyrex) pyrex
2025-09-24 05:53:18 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
2025-09-24 05:55:08 +0200 <Leary> You can write `map` with both `cata` and `ana`. I don't know what a metamorphism is supposed to be.
2025-09-24 05:55:18 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-09-24 05:56:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 05:59:30 +0200aforemny_(~aforemny@2001:9e8:6ce6:7800:dd29:c11d:38d8:740d) (Ping timeout: 244 seconds)
2025-09-24 05:59:56 +0200aforemny(~aforemny@2001:9e8:6cc5:d100:3ace:2858:c703:5d88) aforemny
2025-09-24 06:00:32 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2025-09-24 06:00:43 +0200chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-09-24 06:00:54 +0200 <haskellbridge> <Liamzee> metamorphism is unfold . fold
2025-09-24 06:01:15 +0200gabiruh_(~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 258 seconds)
2025-09-24 06:02:02 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) gabiruh
2025-09-24 06:02:08 +0200 <haskellbridge> <Liamzee> i always thought of it as the definitive metamorphism, because you fold and unfold a data structure at the same time, but it seems you need discrete steps
2025-09-24 06:03:36 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-09-24 06:09:08 +0200 <pyrex> :t fold
2025-09-24 06:09:09 +0200 <lambdabot> (Foldable t, Monoid m) => t m -> m
2025-09-24 06:09:14 +0200 <pyrex> :t unfold
2025-09-24 06:09:15 +0200 <lambdabot> error:
2025-09-24 06:09:15 +0200 <lambdabot> • Variable not in scope: unfold
2025-09-24 06:09:15 +0200 <lambdabot> • Perhaps you meant one of these:
2025-09-24 06:10:22 +0200kerxphilox__(~kerxphilo@2603:8001:9100:2aab:1432:3f88:100a:2952) (Ping timeout: 265 seconds)
2025-09-24 06:10:43 +0200Googulator53(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 06:10:50 +0200Googulator6(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 06:11:50 +0200kerxphilox__(~kerxphilo@2603:8001:9100:2aab:1432:3f88:100a:2952)
2025-09-24 06:12:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 06:17:20 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 06:19:04 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 265 seconds)
2025-09-24 06:20:40 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-09-24 06:24:20 +0200 <fgarcia> :t 1/0
2025-09-24 06:24:20 +0200 <lambdabot> Fractional a => a
2025-09-24 06:24:22 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-09-24 06:28:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 06:30:56 +0200qqe(~qqq@185.54.23.100)
2025-09-24 06:31:09 +0200 <pyrex> :t :t
2025-09-24 06:31:10 +0200 <lambdabot> error: parse error on input ‘:’
2025-09-24 06:32:40 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 06:34:10 +0200michalz(~michalz@185.246.207.203)
2025-09-24 06:37:05 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2025-09-24 06:37:36 +0200ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-09-24 06:37:39 +0200pyrex(~pyrex@user/pyrex) (Ping timeout: 258 seconds)
2025-09-24 06:38:47 +0200kerxphilox__(~kerxphilo@2603:8001:9100:2aab:1432:3f88:100a:2952) (Quit: Leaving)
2025-09-24 06:39:09 +0200takuan(~takuan@d8D86B9E9.access.telenet.be)
2025-09-24 06:43:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 06:46:18 +0200tt12310978324354(~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Ping timeout: 248 seconds)
2025-09-24 06:46:35 +0200tt12310978324354(~tt1231@syn-075-185-104-199.res.spectrum.com) tt1231
2025-09-24 06:47:37 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 258 seconds)
2025-09-24 06:48:18 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-09-24 06:52:58 +0200pyrex(~pyrex@user/pyrex) pyrex
2025-09-24 06:56:03 +0200weary-traveler(~user@user/user363627) (Ping timeout: 258 seconds)
2025-09-24 06:56:25 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2025-09-24 06:57:13 +0200jmcantrell(~weechat@user/jmcantrell) (Quit: WeeChat 4.7.1)
2025-09-24 06:58:18 +0200weary-traveler(~user@user/user363627) user363627
2025-09-24 06:59:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 07:03:40 +0200weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2025-09-24 07:04:06 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 07:11:17 +0200monochrom(trebla@216.138.220.146) (Quit: ZNC 1.9.1+deb2build2 - https://znc.in)
2025-09-24 07:13:45 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-09-24 07:15:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 07:15:32 +0200ec__(~ec@gateway/tor-sasl/ec) (Ping timeout: 272 seconds)
2025-09-24 07:16:22 +0200ec(~ec@gateway/tor-sasl/ec) ec
2025-09-24 07:19:35 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 07:26:24 +0200monochrom(trebla@216.138.220.146)
2025-09-24 07:30:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 07:34:33 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2025-09-24 07:34:55 +0200ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-09-24 07:37:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-09-24 07:41:35 +0200hylisper(~hylisper@user/hylisper) hylisper
2025-09-24 07:46:02 +0200nitrix(~nitrix@user/meow/nitrix) (Ping timeout: 248 seconds)
2025-09-24 07:47:47 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-09-24 07:48:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 07:51:17 +0200nitrix(~nitrix@user/meow/nitrix) nitrix
2025-09-24 07:53:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-09-24 07:54:56 +0200jreicher(~user@user/jreicher) (Read error: Connection reset by peer)
2025-09-24 07:56:09 +0200jreicher(~user@user/jreicher) jreicher
2025-09-24 08:04:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 08:07:35 +0200rvalue-(~rvalue@about/hackers/rvalue) rvalue
2025-09-24 08:08:09 +0200rvalue(~rvalue@about/hackers/rvalue) (Ping timeout: 244 seconds)
2025-09-24 08:09:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 08:13:30 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 08:14:48 +0200rvalue-rvalue
2025-09-24 08:16:52 +0200aspen(sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 256 seconds)
2025-09-24 08:16:52 +0200Fijxu(~Fijxu@user/fijxu) (Ping timeout: 256 seconds)
2025-09-24 08:16:52 +0200degraafk(sid71464@id-71464.lymington.irccloud.com) (Ping timeout: 256 seconds)
2025-09-24 08:16:52 +0200jonrh(sid5185@id-5185.ilkley.irccloud.com) (Ping timeout: 256 seconds)
2025-09-24 08:17:26 +0200rselim(ce261f06ff@user/milesrout) (Ping timeout: 256 seconds)
2025-09-24 08:17:53 +0200h2t_(~h2t@user/h2t) h2t
2025-09-24 08:18:00 +0200jle`(~jle`@2603:8001:3b00:11::1156) (Ping timeout: 256 seconds)
2025-09-24 08:18:00 +0200h2t(~h2t@user/h2t) (Ping timeout: 256 seconds)
2025-09-24 08:18:00 +0200coldmountain(sid484352@id-484352.helmsley.irccloud.com) (Ping timeout: 256 seconds)
2025-09-24 08:18:06 +0200wz1000_(~wz1000@2a01:4f9:c012:de50::1)
2025-09-24 08:18:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-09-24 08:18:34 +0200fernando-basso(~fernando-@2a01:4f9:c012:63d3::1) (Ping timeout: 256 seconds)
2025-09-24 08:18:34 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com) (Ping timeout: 256 seconds)
2025-09-24 08:18:34 +0200markasoftware(~quassel@2604:180:f2::217) (Ping timeout: 256 seconds)
2025-09-24 08:18:34 +0200047AALI5L(~wz1000@2a01:4f9:c012:de50::1) (Ping timeout: 256 seconds)
2025-09-24 08:18:34 +0200dfordivam1(~dfordivam@160.16.87.223.v6.sakura.ne.jp) (Ping timeout: 256 seconds)
2025-09-24 08:18:34 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 256 seconds)
2025-09-24 08:18:34 +0200laman(laman@rego.ai) (Ping timeout: 256 seconds)
2025-09-24 08:18:34 +0200picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Ping timeout: 256 seconds)
2025-09-24 08:19:08 +0200myme(~myme@2a01:799:d5e:5f00:34cf:ff4e:49c6:2bd3) (Ping timeout: 256 seconds)
2025-09-24 08:19:36 +0200markasoftware(~quassel@2604:180:f2::217) markasoftware
2025-09-24 08:19:47 +0200jle`(~jle`@2603:8001:3b00:11::1156) jle`
2025-09-24 08:19:51 +0200Fijxu_(~Fijxu@user/fijxu) fijxu
2025-09-24 08:20:03 +0200rselim(ce261f06ff@user/milesrout) milesrout
2025-09-24 08:20:10 +0200fernando-basso(~fernando-@2a01:4f9:c012:63d3::1) fernando-basso
2025-09-24 08:20:15 +0200laman(laman@rego.ai) laman
2025-09-24 08:20:19 +0200coldmountain(sid484352@id-484352.helmsley.irccloud.com) coldmountain
2025-09-24 08:20:24 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com) shawwwn
2025-09-24 08:20:31 +0200dfordivam1(~dfordivam@160.16.87.223.v6.sakura.ne.jp) dfordivam
2025-09-24 08:20:42 +0200myme(~myme@2a01:799:d5e:5f00:464e:d36:a653:d025) myme
2025-09-24 08:20:43 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) flukiluke
2025-09-24 08:21:57 +0200peterbecich(~Thunderbi@syn-172-222-149-049.res.spectrum.com) peterbecich
2025-09-24 08:22:03 +0200lortabac(~lortabac@2a0d:e487:45f:4ca7:4660:8bc9:2a74:d14e)
2025-09-24 08:27:34 +0200 <fgarcia> you guys will probably laugh, but i finally learned how to loop in main. now i can sleep. putStr ""
2025-09-24 08:29:12 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 08:31:09 +0200jonrh(sid5185@id-5185.ilkley.irccloud.com) jonrh
2025-09-24 08:31:10 +0200aspen(sid449115@id-449115.helmsley.irccloud.com) aspen
2025-09-24 08:31:11 +0200degraafk(sid71464@id-71464.lymington.irccloud.com) degraafk
2025-09-24 08:32:13 +0200picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur
2025-09-24 08:34:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-09-24 08:36:24 +0200lortabac(~lortabac@2a0d:e487:45f:4ca7:4660:8bc9:2a74:d14e) (Quit: WeeChat 4.5.2)
2025-09-24 08:38:33 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df)
2025-09-24 08:44:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 08:49:53 +0200mfc_kbs-(~keibisoft@2a06:1fc0:0:1::1cd) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in)
2025-09-24 08:50:12 +0200mfc_kbs(~keibisoft@2a06:1fc0:0:1::1cd)
2025-09-24 08:50:21 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-09-24 08:56:32 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-09-24 09:00:01 +0200caconym74787(~caconym@user/caconym) (Quit: bye)
2025-09-24 09:00:41 +0200caconym74787(~caconym@user/caconym) caconym
2025-09-24 09:00:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 09:01:50 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2025-09-24 09:01:52 +0200califax(~califax@user/califx) (Remote host closed the connection)
2025-09-24 09:02:04 +0200chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-09-24 09:02:09 +0200califax(~califax@user/califx) califx
2025-09-24 09:02:18 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 248 seconds)
2025-09-24 09:02:26 +0200pyrex(~pyrex@user/pyrex) (Ping timeout: 265 seconds)
2025-09-24 09:05:30 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 09:06:11 +0200pyrex(~pyrex@user/pyrex) pyrex
2025-09-24 09:06:12 +0200pyrex(~pyrex@user/pyrex) (Read error: Connection reset by peer)
2025-09-24 09:06:51 +0200broccoli-colonis(~Thunderbi@98.red-83-56-255.dynamicip.rima-tde.net)
2025-09-24 09:07:07 +0200pyrex(~pyrex@user/pyrex) pyrex
2025-09-24 09:07:36 +0200pyrex(~pyrex@user/pyrex) (Read error: Connection reset by peer)
2025-09-24 09:10:43 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-09-24 09:13:15 +0200dpk(~dpk@jains.nonceword.org)
2025-09-24 09:13:45 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df)
2025-09-24 09:14:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 09:15:06 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
2025-09-24 09:17:05 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-09-24 09:18:45 +0200lortabac(~lortabac@2a0d:e487:45f:4ca7:4660:8bc9:2a74:d14e) lortabac
2025-09-24 09:21:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-09-24 09:21:51 +0200traxex(traxex@user/traxex) traxex
2025-09-24 09:22:38 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61)
2025-09-24 09:22:38 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61) (Changing host)
2025-09-24 09:22:38 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 09:35:41 +0200fp(~Thunderbi@2001:708:20:1406::10c5) fp
2025-09-24 09:35:54 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2025-09-24 09:41:11 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: Leaving)
2025-09-24 09:46:10 +0200poscat0x04(~poscat@user/poscat) (Remote host closed the connection)
2025-09-24 09:48:12 +0200Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-09-24 09:49:14 +0200poscat(~poscat@user/poscat) poscat
2025-09-24 09:50:27 +0200Enrico63(~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) Enrico63
2025-09-24 09:53:02 +0200mange(~mange@user/mange) (Remote host closed the connection)
2025-09-24 09:53:32 +0200peterbecich(~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 258 seconds)
2025-09-24 09:53:49 +0200 <_bo> No laughing from me, since I don't know how to loop at all :D
2025-09-24 09:56:37 +0200pyrex(~pyrex@user/pyrex) pyrex
2025-09-24 09:57:08 +0200lortabac(~lortabac@2a0d:e487:45f:4ca7:4660:8bc9:2a74:d14e) (Ping timeout: 260 seconds)
2025-09-24 09:58:03 +0200michalz_(~michalz@185.246.207.203)
2025-09-24 09:58:54 +0200michalz(~michalz@185.246.207.203) (Ping timeout: 258 seconds)
2025-09-24 09:59:02 +0200lortabac(~lortabac@2a0d:e487:151e:e221:f814:ba3c:392a:2af7)
2025-09-24 10:01:20 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-09-24 10:02:03 +0200Enrico63(~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-09-24 10:03:27 +0200__monty__(~toonn@user/toonn) toonn
2025-09-24 10:04:00 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-09-24 10:05:17 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 10:11:00 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61)
2025-09-24 10:11:00 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61) (Changing host)
2025-09-24 10:11:00 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 10:11:07 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-09-24 10:15:46 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2025-09-24 10:17:00 +0200A_DragongAy_Dragon
2025-09-24 10:20:52 +0200 <bwe> _ :: Text -> Network.URI.URI -- which function do I need here?
2025-09-24 10:24:06 +0200ft(~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: leaving)
2025-09-24 10:24:33 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 260 seconds)
2025-09-24 10:24:47 +0200lortabac(~lortabac@2a0d:e487:151e:e221:f814:ba3c:392a:2af7) (Quit: WeeChat 4.5.2)
2025-09-24 10:26:25 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-09-24 10:28:34 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61)
2025-09-24 10:28:34 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61) (Changing host)
2025-09-24 10:28:34 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 10:29:43 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2025-09-24 10:30:18 +0200fp(~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 256 seconds)
2025-09-24 10:30:43 +0200 <jackdk> Network.URI.parseURI . Data.Text.unpack, but be mindful that the parse might fail (it returns Maybe URI)
2025-09-24 10:30:53 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 10:32:49 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2025-09-24 10:38:30 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
2025-09-24 10:39:25 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-09-24 10:45:31 +0200chele(~chele@user/chele) chele
2025-09-24 10:47:35 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 258 seconds)
2025-09-24 10:51:30 +0200 <bwe> jackdk: Thanks, another instance of how to get away with the Maybe :Q.
2025-09-24 10:52:15 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-09-24 10:53:36 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-09-24 10:53:55 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-09-24 10:54:02 +0200 <jackdk> Use a case expression and decide what you want to do if the parse fails, or use fmap to apply a function on the inside if you have a `Just`
2025-09-24 10:57:05 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-09-24 10:57:07 +0200Unhammer(~Unhammer@user/unhammer) Unhammer
2025-09-24 10:58:17 +0200 <jackdk> Absolute worst case, you can use fromJust, but I've never needed it in nontrivial code
2025-09-24 11:00:40 +0200 <Unhammer> hi, in a project linking to odbc.so, I tried upgrading to ghc 9.8.4 from 9.6.7 and everything seems fine with my executable, but when I `stack test`, it rebuilds the lib and then gets an error on trying to build the test with "undefined symbol: SQLPrepareW". What changed in ghc 9.8.4 linking?
2025-09-24 11:01:15 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 11:02:43 +0200fp(~Thunderbi@2001:708:20:1406::10c5) fp
2025-09-24 11:06:33 +0200Enrico63(~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) Enrico63
2025-09-24 11:06:33 +0200 <Enrico63> Hi all. I'd like some help with an exercise from https://haskell.mooc.fi/part2#lecture-15-youre-valid-even-without-monads
2025-09-24 11:06:33 +0200 <Enrico63> **Could you help me without spoiling the solution entirely?**
2025-09-24 11:06:34 +0200 <Enrico63> The exercise is this one: https://github.com/moocfi/haskell-mooc/blob/59735e76d37c5470504be4d64206cd49660e1324/exercises/Set…
2025-09-24 11:06:34 +0200 <Enrico63> I think I've correctly implemented these functions
2025-09-24 11:06:34 +0200Vajb(~Vajb@n74ieoy4jxary44nkr2-1.v6.elisa-mobile.fi) (Ping timeout: 248 seconds)
2025-09-24 11:06:35 +0200 <Enrico63> ```
2025-09-24 11:06:35 +0200 <Enrico63> parseInt :: String -> Validation Arg
2025-09-24 11:06:36 +0200 <Enrico63> parseVar :: String -> Validation Arg
2025-09-24 11:06:36 +0200 <Enrico63> parseOp :: String -> Validation (Arg -> Arg -> Expression)
2025-09-24 11:06:37 +0200 <Enrico63> ```
2025-09-24 11:06:37 +0200 <Enrico63> so I can do this
2025-09-24 11:06:38 +0200 <Enrico63> ```
2025-09-24 11:06:38 +0200 <Enrico63> (<<|>>) = liftA2 (<|>)
2025-09-24 11:06:39 +0200 <Enrico63> parseIntOrVar = parseInt <<|>> parseVar
2025-09-24 11:06:39 +0200 <Enrico63> ```
2025-09-24 11:06:40 +0200 <Enrico63> and I've verified that `parseIntOrVar` does what it should do. Furthemore, if I have 3 strings `op`, `a`, and `b`, I can run
2025-09-24 11:06:40 +0200 <Enrico63> ```
2025-09-24 11:06:41 +0200 <Enrico63> parseOp op <*> parseIntOrVar a <*> parseIntOrVar b
2025-09-24 11:06:41 +0200 <Enrico63> ```
2025-09-24 11:07:44 +0200Vajb(~Vajb@n7ndfx3ces7n6jnktab-1.v6.elisa-mobile.fi)
2025-09-24 11:14:09 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
2025-09-24 11:14:37 +0200acidjnk(~acidjnk@p200300d6e71719544593b070e4f06c0e.dip0.t-ipconnect.de) acidjnk
2025-09-24 11:18:09 +0200Googulator6Googulator
2025-09-24 11:18:45 +0200 <__monty__> Enrico63: And what part isn't working?
2025-09-24 11:19:34 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61)
2025-09-24 11:19:34 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61) (Changing host)
2025-09-24 11:19:34 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 11:24:10 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 248 seconds)
2025-09-24 11:24:22 +0200 <Unhammer> … it's template haskell. If I drop the template haskell from my tests (quickcheck $forAllProperties), the linker error goes away. The quickcheck tests aren't even using that library though :-(
2025-09-24 11:26:23 +0200shr\ke(~shrike@user/shrke:31298) (Ping timeout: 260 seconds)
2025-09-24 11:28:53 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 265 seconds)
2025-09-24 11:28:58 +0200shr\ke(~shrike@user/paxhumana) paxhumana
2025-09-24 11:28:58 +0200shr\ke(~shrike@user/paxhumana) (Changing host)
2025-09-24 11:28:58 +0200shr\ke(~shrike@user/shrke:31298) shr\ke
2025-09-24 11:29:41 +0200AlexZenon(~alzenon@85.174.180.29) (Quit: ;-)
2025-09-24 11:29:54 +0200Vajb(~Vajb@n7ndfx3ces7n6jnktab-1.v6.elisa-mobile.fi) (Ping timeout: 252 seconds)
2025-09-24 11:30:07 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 11:30:40 +0200Vajb(~Vajb@n7nfchy4dz4j3x4yypz-1.v6.elisa-mobile.fi)
2025-09-24 11:35:28 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 255 seconds)
2025-09-24 11:37:36 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-09-24 11:40:39 +0200 <Enrico63> __monty__, my brain, ahah. In the sense that I don't know how to plug those functions together.
2025-09-24 11:42:24 +0200qqe(~qqq@185.54.23.100) (Remote host closed the connection)
2025-09-24 11:45:16 +0200AlexZenon(~alzenon@85.174.180.29)
2025-09-24 11:45:16 +0200 <__monty__> Enrico63: Plug which functions together to achieve what?
2025-09-24 11:45:29 +0200 <Enrico63> That is, given these
2025-09-24 11:45:30 +0200 <Enrico63> ```
2025-09-24 11:45:30 +0200 <Enrico63> liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c
2025-09-24 11:45:31 +0200 <Enrico63> (<|>) :: Applicative f => f a -> f a -> f a
2025-09-24 11:45:31 +0200 <Enrico63> pure :: Applicative f => a -> f a
2025-09-24 11:45:32 +0200 <Enrico63> parseInt :: String -> Validation Arg
2025-09-24 11:45:32 +0200 <Enrico63> parseVar :: String -> Validation Arg
2025-09-24 11:45:33 +0200 <Enrico63> parseOp :: String -> Validation (Arg -> Arg -> Expression)
2025-09-24 11:45:33 +0200 <Enrico63> parseThreeWords :: String -> Validation (String, String, String)
2025-09-24 11:45:34 +0200 <Enrico63> ```
2025-09-24 11:45:34 +0200 <Enrico63> I don't know how to implement this:
2025-09-24 11:45:35 +0200 <Enrico63> ```
2025-09-24 11:45:35 +0200 <Enrico63> parseExpression :: String -> Validation Expression
2025-09-24 11:45:36 +0200 <Enrico63> ```
2025-09-24 11:45:36 +0200 <Enrico63> probably `parseThreeWords` (in my first message I called it `parseExpr`, sorry) is what I've given the wrong signature to..
2025-09-24 11:46:04 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
2025-09-24 11:46:20 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-09-24 11:46:26 +0200 <tomsmeding> Unhammer: something unrelated with template haskell, but try adding `other-extension: TemplateHaskell` to the components in your cabal file that use the TemplateHaskell extension somewhere in the source files
2025-09-24 11:46:50 +0200 <Enrico63> With just `parseInt`, `parseVar`, `parseOp`, I know I can implement `parseExpression`, but then it lacks the check on the number of words in the input string, which should be 3.
2025-09-24 11:46:58 +0200 <tomsmeding> Unhammer: it fixed some strange linking error with TH for me at some point; I think it was a different error, but who knows
2025-09-24 11:48:05 +0200 <Unhammer> i already had that :-/
2025-09-24 11:48:38 +0200 <Unhammer> hm, but what if I put the TH in a lib …
2025-09-24 11:48:50 +0200 <__monty__> Enrico63: Don't you need to properly split the String in order to feed the correct bits to parseOp and parseIntOrVar?
2025-09-24 11:49:34 +0200 <Enrico63> Yes, and that's what my current implementation of `parseThreeWords` is doing. It takes a single `String`, and gives back a `Validation (String, String, String)`.
2025-09-24 11:49:38 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 11:50:16 +0200 <tomsmeding> what are you supposed to do if the input string has more than 3 words?
2025-09-24 11:50:59 +0200 <Enrico63> Still produce an error via `Validation`.
2025-09-24 11:51:27 +0200 <tomsmeding> are you allowed to use (>>=) on Validation
2025-09-24 11:51:32 +0200dhil(~dhil@5.151.29.141) dhil
2025-09-24 11:51:35 +0200 <Enrico63> (Since it's the only exercise left in that batch, I could submit it and then lookup the solutions, but I want to understand first :( )
2025-09-24 11:52:22 +0200 <Enrico63> Wait... am I under the mistaken assumption that Validation is not a Monad... ? Let me check. I rember I've explicitly read it is not.
2025-09-24 11:53:10 +0200 <tomsmeding> well if splitting is a partial operation (String -> Validation (String,String,String)) and parsing individual components also is (String -> Validation Arg), then you ain't gonna put them together without (>>=)
2025-09-24 11:53:11 +0200 <Enrico63> Confirm. It is Applicative, but isn't a Monad.
2025-09-24 11:54:13 +0200 <Leary> Enrico63: How about `hasThreeWords :: String -> Validation ()`?
2025-09-24 11:54:16 +0200 <Enrico63> Yeah, I thought the same. As in, I feel like I'd need Monad for doing what is requested, but Validation is definitely not a Monad.
2025-09-24 11:54:25 +0200 <tomsmeding> oh maybe the idea is that you use `orElse`?
2025-09-24 11:55:04 +0200 <tomsmeding> perhaps not orElse since that throws away the error if it's a failure
2025-09-24 11:55:38 +0200 <Enrico63> Leary,  I've tried that, but I don't get, in the case of that failing, how to prevent the rest of the validation from running
2025-09-24 11:56:02 +0200 <tomsmeding> I've never worked with Validation specifically, but `Validation e a -> a -> (a -> Validation e b) -> Validation e b` is implementable, I think -- where the loose 'a' argument is a default for when the first argument is a failure
2025-09-24 11:56:13 +0200 <tomsmeding> not sure if Validation has a function with that functionality
2025-09-24 11:56:52 +0200 <Leary> Enrico63: Are you sure you don't want it to keep running?
2025-09-24 11:58:20 +0200 <tomsmeding> yeah what Leary says is the key point I think
2025-09-24 11:58:26 +0200 <Enrico63> Leary, I'm gonna try
2025-09-24 11:58:41 +0200 <Leary> (collecting as many warnings/errors as possible from the input is kinda the point of validation)
2025-09-24 11:59:02 +0200 <Unhammer> So as a workaround to my TH woes I can put all my tests in src/, putting them in the main library. Is it possible to have two libraries in one .cabal file? stack doesn't seem to let me build project:lib:library2, only project:lib
2025-09-24 11:59:09 +0200 <Enrico63> So you're saying that I should fire an error in case there's more than 3 words, but then I should disregard those additional words, rather than hard erroring, when doing the rest of the validation.
2025-09-24 11:59:43 +0200 <Leary> Probably. It's a reasonable option anyway.
2025-09-24 12:00:03 +0200 <tomsmeding> Unhammer: it is definitely possible to have multiple libraries in one .cabal file; at most one of them will be the "main" library (headed by `library`), the others will be sublibraries (headed by `library some-name`)
2025-09-24 12:00:21 +0200 <tomsmeding> Unhammer: whether stack is happy with that I dunno, but cabal supports that first-class
2025-09-24 12:00:22 +0200 <Enrico63> Leary, I see. In this case I just had the solution in front of me for the whole time. Let me try.
2025-09-24 12:01:29 +0200 <tomsmeding> Enrico63: and do not there is bindValidation
2025-09-24 12:01:53 +0200 <tomsmeding> which allows you, if I understand correctly, to "stop progressing" if an error occurred
2025-09-24 12:02:05 +0200 <tomsmeding> but you may or may not want to actually use that, as Leary argued
2025-09-24 12:05:02 +0200mud(~mud@user/kadoban) (Ping timeout: 258 seconds)
2025-09-24 12:06:24 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-09-24 12:06:39 +0200mud(~mud@user/kadoban) kadoban
2025-09-24 12:10:47 +0200 <Enrico63> Leary, but regarding the "keep running" approach, how am I gonna do that? If there's 3 words, I want to run `parseOp op <*> parseIntOrVar a <*> parseIntOrVar b`, being a, op, b the 3 words. But if there aren't 3 words... how am I gonna parse what's left? I could ignore the aditional words. But what if there are less, say 1 word. How do I proceed
2025-09-24 12:10:47 +0200 <Enrico63> with the computations?
2025-09-24 12:10:56 +0200 <Unhammer> OK, so `stack build project:lib` actually builds all libraries of the .cabal file. But for some reason, the linker error shows up again if I have `library testlib\nbuild-depends: applib` (where applib uses that C function).
2025-09-24 12:11:18 +0200 <Unhammer> oh https://discourse.haskell.org/t/adding-template-haskell-library-produces-linker-error-on-alpine/13…
2025-09-24 12:11:27 +0200 <Enrico63> Leary, indeed, the testcase
2025-09-24 12:11:27 +0200 <Enrico63> ```
2025-09-24 12:11:28 +0200 <Enrico63> parseExpression "k +"
2025-09-24 12:11:28 +0200 <Enrico63> ```
2025-09-24 12:11:29 +0200 <Enrico63> expects this error
2025-09-24 12:11:29 +0200 <Enrico63> ```
2025-09-24 12:11:30 +0200 <Enrico63>   Expected: Errors ["Invalid expression: k +"]
2025-09-24 12:11:30 +0200 <Enrico63> ```
2025-09-24 12:11:47 +0200 <Enrico63> So the parsing of `k` and `+` is not meant to have a chance to run
2025-09-24 12:14:10 +0200infinity0(~infinity0@pwned.gg) (Ping timeout: 255 seconds)
2025-09-24 12:15:20 +0200 <Enrico63> Oh. I think the key is to use `empty`..
2025-09-24 12:15:42 +0200Vajb(~Vajb@n7nfchy4dz4j3x4yypz-1.v6.elisa-mobile.fi) (Ping timeout: 256 seconds)
2025-09-24 12:16:13 +0200 <Leary> Neither `k` nor `+` are erroneous, so they wouldn't contribute to the error set either way; it's ambiguous whether parsing should proceed or not (perhaps intentionally so).
2025-09-24 12:18:03 +0200 <Enrico63> Ok, I have a solution. This is the validator you suggested:
2025-09-24 12:18:03 +0200 <Enrico63> ```
2025-09-24 12:18:04 +0200 <Enrico63> hasThreeWords :: String -> Validation ()
2025-09-24 12:18:04 +0200 <Enrico63> hasThreeWords s = case words s of
2025-09-24 12:18:05 +0200 <Enrico63>                     (a:op:b:[]) -> pure ()
2025-09-24 12:18:05 +0200 <Enrico63>                     _ -> invalid $ "Invalid expression: " ++ s
2025-09-24 12:18:06 +0200 <Enrico63> ```
2025-09-24 12:18:06 +0200 <Enrico63> and together with the others I've defined above, it can be used like this:
2025-09-24 12:18:07 +0200 <Enrico63> ```
2025-09-24 12:18:07 +0200 <Enrico63> parseExpression :: String -> Validation Expression
2025-09-24 12:18:08 +0200 <Enrico63> parseExpression str = hasThreeWords str *>
2025-09-24 12:18:08 +0200 <Enrico63>                       case words str of
2025-09-24 12:18:09 +0200 <Enrico63>                          (a:op:b:_) -> parseOp op <*> parseIntOrVar a <*> parseIntOrVar b
2025-09-24 12:18:09 +0200 <Enrico63>                          _ -> empty
2025-09-24 12:18:10 +0200 <Enrico63> ```
2025-09-24 12:19:14 +0200 <Enrico63> So if `hasThreeWords` passed, the computation proceeds as I had alrady done. The trick is that if that fails, then we just return `empty`, so we don't contribute to the list of errors, yet we don't hard-error nor we give a meaningless Ok.
2025-09-24 12:20:41 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61)
2025-09-24 12:20:41 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61) (Changing host)
2025-09-24 12:20:41 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 12:25:52 +0200 <Enrico63> Thanks Leary and tomsmeding
2025-09-24 12:33:10 +0200 <Enrico63> Ok, the solution from the site is a bit simpler, ahah:
2025-09-24 12:33:11 +0200 <Enrico63> ```
2025-09-24 12:33:11 +0200 <Enrico63> parseExpression :: String -> Validation Expression
2025-09-24 12:33:12 +0200 <Enrico63> parseExpression e = parse (words e)
2025-09-24 12:33:12 +0200 <Enrico63>   where parse [a1,op,a2] = parseOp op <*> parseArg a1 <*> parseArg a2
2025-09-24 12:33:13 +0200 <Enrico63>         parse _ = invalid ("Invalid expression: " ++ e)
2025-09-24 12:33:13 +0200 <Enrico63> ```
2025-09-24 12:34:35 +0200infinity0(~infinity0@pwned.gg) infinity0
2025-09-24 12:38:16 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-09-24 12:41:21 +0200Vajb(~Vajb@n73ytrjjz36ldo55g3k-1.v6.elisa-mobile.fi)
2025-09-24 12:43:06 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 248 seconds)
2025-09-24 12:45:46 +0200Vajb(~Vajb@n73ytrjjz36ldo55g3k-1.v6.elisa-mobile.fi) (Ping timeout: 248 seconds)
2025-09-24 12:49:14 +0200trickard(~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-24 12:49:27 +0200trickard_(~trickard@cpe-49-98-47-163.wireline.com.au)
2025-09-24 12:49:50 +0200mulk(~mulk@pd95144c3.dip0.t-ipconnect.de) (Remote host closed the connection)
2025-09-24 12:51:42 +0200michalz(~michalz@185.246.207.197)
2025-09-24 12:52:56 +0200michalz_(~michalz@185.246.207.203) (Ping timeout: 258 seconds)
2025-09-24 12:55:05 +0200Vajb(~Vajb@85-76-47-114-nat.elisa-mobile.fi)
2025-09-24 12:58:37 +0200Enrico63(~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-09-24 13:03:40 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 258 seconds)
2025-09-24 13:06:21 +0200Vajb(~Vajb@85-76-47-114-nat.elisa-mobile.fi) (Ping timeout: 258 seconds)
2025-09-24 13:06:44 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 13:07:58 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds)
2025-09-24 13:10:59 +0200Athas(athas@2a01:7c8:aaac:1cf:d153:5501:dd03:4891) (Quit: ZNC 1.9.1 - https://znc.in)
2025-09-24 13:11:11 +0200Athas(athas@sigkill.dk)
2025-09-24 13:23:59 +0200craunts79(~craunts@136.158.7.194)
2025-09-24 13:24:44 +0200trickard___(~trickard@cpe-51-98-47-163.wireline.com.au)
2025-09-24 13:24:52 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2025-09-24 13:25:23 +0200trickard_(~trickard@cpe-49-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
2025-09-24 13:26:13 +0200trickard___trickard
2025-09-24 13:26:47 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-09-24 13:28:25 +0200Square(~Square4@user/square) Square
2025-09-24 13:31:13 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-09-24 13:31:14 +0200Inline(~Inline@ip-005-146-196-132.um05.pools.vodafone-ip.de) (Quit: Leaving)
2025-09-24 13:31:35 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
2025-09-24 13:32:32 +0200Lord_of_Life_Lord_of_Life
2025-09-24 13:32:37 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 244 seconds)
2025-09-24 13:34:41 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds)
2025-09-24 13:35:43 +0200acidjnk(~acidjnk@p200300d6e71719544593b070e4f06c0e.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2025-09-24 13:36:14 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-09-24 13:36:36 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-09-24 13:37:52 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 255 seconds)
2025-09-24 13:40:03 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-09-24 13:44:46 +0200Inline(~Inline@ip-005-146-196-132.um05.pools.vodafone-ip.de) Inline
2025-09-24 13:45:34 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 13:47:48 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 13:48:07 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 13:49:11 +0200Enrico63(~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) Enrico63
2025-09-24 13:50:30 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 265 seconds)
2025-09-24 13:53:41 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 14:01:16 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 14:01:38 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 14:01:51 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 14:02:31 +0200broccoli-colonis(~Thunderbi@98.red-83-56-255.dynamicip.rima-tde.net) (Quit: broccoli-colonis)
2025-09-24 14:02:43 +0200_bo(~bo@98.red-83-56-255.dynamicip.rima-tde.net) (Quit: Leaving)
2025-09-24 14:07:54 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 265 seconds)
2025-09-24 14:08:18 +0200fp(~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 252 seconds)
2025-09-24 14:09:16 +0200fp(~Thunderbi@wireless-86-50-141-96.open.aalto.fi) fp
2025-09-24 14:12:23 +0200 <sajenim> thank god thats over, absolutely hated having to use java
2025-09-24 14:12:38 +0200 <Inline> oh
2025-09-24 14:13:03 +0200 <sajenim> just did my oop exam, haskell was my first language so ... it was frustrating
2025-09-24 14:15:36 +0200Googulator34(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 14:15:39 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 14:17:33 +0200srk_(~sorki@user/srk) srk
2025-09-24 14:18:03 +0200srk(~sorki@user/srk) (Ping timeout: 265 seconds)
2025-09-24 14:20:22 +0200srk_srk
2025-09-24 14:20:38 +0200Googulator34(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 14:20:44 +0200Googulator96(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 14:20:54 +0200fp(~Thunderbi@wireless-86-50-141-96.open.aalto.fi) (Remote host closed the connection)
2025-09-24 14:21:03 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 14:25:58 +0200fp(~Thunderbi@2001:708:150:10::72df) fp
2025-09-24 14:33:51 +0200fp(~Thunderbi@2001:708:150:10::72df) (Remote host closed the connection)
2025-09-24 14:40:40 +0200Googulator40(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 14:40:45 +0200Googulator96(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 14:40:46 +0200fp(~Thunderbi@2001:708:150:10::72df) fp
2025-09-24 14:43:07 +0200xff0x(~xff0x@2405:6580:b080:900:ff3d:7da6:9258:188)
2025-09-24 14:44:22 +0200qqe(~qqq@185.54.23.100)
2025-09-24 14:49:46 +0200Googulator40Googulator
2025-09-24 15:02:10 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.9.1 - https://znc.in)
2025-09-24 15:03:58 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df)
2025-09-24 15:04:03 +0200pointlessslippe1(~pointless@62.106.85.17) (Quit: ZNC - http://znc.in)
2025-09-24 15:05:08 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2025-09-24 15:05:43 +0200Googulator33(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 15:05:46 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 15:07:04 +0200pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-09-24 15:07:37 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n
2025-09-24 15:14:26 +0200pointlessslippe1(~pointless@62.106.85.17) (Quit: ZNC - http://znc.in)
2025-09-24 15:16:03 +0200pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-09-24 15:16:47 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 15:20:08 +0200ystael(~ystael@user/ystael) ystael
2025-09-24 15:21:27 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 252 seconds)
2025-09-24 15:23:58 +0200Vajb(~Vajb@n5hm5k9t3gvbmoru6qi-1.v6.elisa-mobile.fi)
2025-09-24 15:25:37 +0200Googulator38(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 15:25:41 +0200acidjnk(~acidjnk@p200300d6e717193624b210ba5e3df64b.dip0.t-ipconnect.de) acidjnk
2025-09-24 15:25:44 +0200Googulator33(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 15:30:34 +0200Googulator79(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 15:30:38 +0200Googulator79Googulator
2025-09-24 15:30:43 +0200Googulator38(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 15:32:23 +0200karenw_(~karenw@user/karenw) karenw
2025-09-24 15:35:35 +0200Googulator33(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 15:35:35 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 15:37:20 +0200weary-traveler(~user@user/user363627) user363627
2025-09-24 15:45:41 +0200Googulator49(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 15:45:47 +0200Googulator33(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 15:46:34 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-09-24 15:49:48 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 15:50:41 +0200Googulator20(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 15:50:42 +0200Googulator49(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 15:53:01 +0200Enrico63(~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-09-24 15:57:32 +0200ephilalethes(~noumenon@113.51-175-156.customer.lyse.net) noumenon
2025-09-24 15:58:22 +0200segfaultfizzbuzz(~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) segfaultfizzbuzz
2025-09-24 16:06:18 +0200fp(~Thunderbi@2001:708:150:10::72df) (Ping timeout: 248 seconds)
2025-09-24 16:12:44 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2025-09-24 16:13:38 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-09-24 16:19:10 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 258 seconds)
2025-09-24 16:21:54 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2025-09-24 16:23:15 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net)
2025-09-24 16:24:43 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-09-24 16:35:57 +0200 <tomsmeding> question from a colleague: is there a decent reference for how the GHC RTS works? This was brought up but it's very old: https://www.microsoft.com/en-us/research/wp-content/uploads/1998/01/new-rts.pdf
2025-09-24 16:36:16 +0200 <tomsmeding> [exa]: sorry for the ping but you tend to know lots of references somehow :)
2025-09-24 16:39:08 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
2025-09-24 16:41:08 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-09-24 16:41:18 +0200 <int-e> tomsmeding: There's https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/rts/haskell-execution (and a link to the more recent fast curry paper). No clue whether there's anything better (apart from digging into the actual source code and/or dumping intermediate stages of the compiler at work)
2025-09-24 16:42:30 +0200 <int-e> (or maybe start one level above, https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/rts/ )
2025-09-24 16:43:33 +0200Googulator20(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 16:43:43 +0200Googulator20(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 16:44:39 +0200 <tomsmeding> int-e: thank you!
2025-09-24 16:45:14 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2025-09-24 16:53:39 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 260 seconds)
2025-09-24 17:03:15 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 258 seconds)
2025-09-24 17:05:18 +0200merijn(~merijn@77.242.116.146) merijn
2025-09-24 17:05:48 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-09-24 17:06:28 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61)
2025-09-24 17:06:28 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61) (Changing host)
2025-09-24 17:06:28 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 17:10:39 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2025-09-24 17:12:31 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2025-09-24 17:15:17 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
2025-09-24 17:20:38 +0200Googulator11(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 17:20:47 +0200Googulator20(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 17:24:52 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 17:25:47 +0200Googulator11(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 17:25:48 +0200Googulator62(~Googulato@80-95-93-255.pool.digikabel.hu)
2025-09-24 17:26:09 +0200Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Ping timeout: 244 seconds)
2025-09-24 17:27:09 +0200karenw_(~karenw@user/karenw) (Ping timeout: 250 seconds)
2025-09-24 17:44:32 +0200Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) Raito_Bezarius
2025-09-24 17:47:30 +0200pyrex(~pyrex@user/pyrex) (Remote host closed the connection)
2025-09-24 17:47:58 +0200pyrex(~pyrex@user/pyrex) pyrex
2025-09-24 17:51:44 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-09-24 17:53:55 +0200qqe(~qqq@185.54.23.100) (Quit: Lost terminal)
2025-09-24 17:54:34 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 256 seconds)
2025-09-24 17:59:56 +0200ephilalethes(~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
2025-09-24 18:06:05 +0200gehmehgeh(~user@user/gehmehgeh) gehmehgeh
2025-09-24 18:06:36 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 272 seconds)
2025-09-24 18:06:45 +0200gehmehgehgmg
2025-09-24 18:06:50 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2025-09-24 18:10:35 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-09-24 18:10:59 +0200pounce(8a023a9e4a@user/cute/pounce) ()
2025-09-24 18:11:37 +0200MelodyOwO(~MelodyOwO@user/MelodyOwO) MelodyOwO
2025-09-24 18:17:01 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-09-24 18:20:37 +0200Googulator57(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 18:20:37 +0200Googulator62(~Googulato@80-95-93-255.pool.digikabel.hu) (Quit: Client closed)
2025-09-24 18:22:56 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-09-24 18:25:39 +0200Googulator19(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 18:25:43 +0200Googulator57(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 18:26:20 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-09-24 18:30:00 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-09-24 18:30:31 +0200Googulator19(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Client Quit)
2025-09-24 18:30:39 +0200Googulator19(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 18:32:56 +0200tt12310978324354(~tt1231@syn-075-185-104-199.res.spectrum.com) (Quit: The Lounge - https://thelounge.chat)
2025-09-24 18:33:07 +0200chele(~chele@user/chele) (Remote host closed the connection)
2025-09-24 18:34:02 +0200tt12310978324354(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) tt1231
2025-09-24 18:35:46 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 255 seconds)
2025-09-24 18:39:36 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2025-09-24 18:40:17 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-09-24 18:43:02 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 18:43:07 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df)
2025-09-24 18:45:44 +0200trickard(~trickard@cpe-51-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-24 18:45:57 +0200trickard_(~trickard@cpe-51-98-47-163.wireline.com.au)
2025-09-24 18:55:53 +0200hylisper(~hylisper@user/hylisper) (Remote host closed the connection)
2025-09-24 19:01:19 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-09-24 19:02:49 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-09-24 19:02:56 +0200Sgeo_(~Sgeo@user/sgeo) Sgeo
2025-09-24 19:03:37 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-09-24 19:05:10 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 258 seconds)
2025-09-24 19:05:56 +0200jreicher(~user@user/jreicher) (Ping timeout: 258 seconds)
2025-09-24 19:06:42 +0200davean(~davean@davean.sciesnet.net) (Ping timeout: 258 seconds)
2025-09-24 19:07:10 +0200jreicher(~user@user/jreicher) jreicher
2025-09-24 19:07:25 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2025-09-24 19:11:12 +0200tromp(~textual@2001:1c00:3487:1b00:c5e8:54d7:3489:19df)
2025-09-24 19:14:06 +0200Googulator19Googulator
2025-09-24 19:15:32 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 19:15:38 +0200Googulator84(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 19:20:41 +0200davean(~davean@davean.sciesnet.net) davean
2025-09-24 19:27:06 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2025-09-24 19:28:55 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 258 seconds)
2025-09-24 19:31:46 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 19:33:29 +0200ft(~ft@p4fc2a25a.dip0.t-ipconnect.de) ft
2025-09-24 19:35:12 +0200Googulator84Googulator
2025-09-24 19:40:30 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 19:40:43 +0200Googulator(~Googulato@80-95-93-255.pool.digikabel.hu)
2025-09-24 19:42:10 +0200peterbecich(~Thunderbi@syn-172-222-149-049.res.spectrum.com) peterbecich
2025-09-24 19:45:08 +0200juri_(~juri@implicitcad.org) (Ping timeout: 256 seconds)
2025-09-24 19:46:03 +0200juri_(~juri@implicitcad.org) juri_
2025-09-24 19:48:09 +0200Tuplanolla(~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) Tuplanolla
2025-09-24 19:51:01 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 250 seconds)
2025-09-24 19:52:08 +0200Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-09-24 19:55:50 +0200peterbecich(~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 256 seconds)
2025-09-24 19:58:04 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-09-24 19:59:48 +0200m1dnight_(~m1dnight@d8D861A17.access.telenet.be) (Ping timeout: 256 seconds)
2025-09-24 20:00:07 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 250 seconds)
2025-09-24 20:01:09 +0200trickard_(~trickard@cpe-51-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
2025-09-24 20:01:44 +0200trickard__(~trickard@cpe-50-98-47-163.wireline.com.au)
2025-09-24 20:14:32 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 272 seconds)
2025-09-24 20:16:16 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-09-24 20:20:38 +0200 <cheater> what is the stuff on the left of => called
2025-09-24 20:20:45 +0200 <cheater> in general
2025-09-24 20:21:57 +0200 <ncf> a constraint (or a set of constraints)
2025-09-24 20:22:16 +0200 <cheater> right
2025-09-24 20:22:22 +0200 <cheater> temporary amnesia
2025-09-24 20:24:15 +0200 <ncf> i guess that's not what the report calls it https://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-660004.1.3
2025-09-24 20:24:32 +0200 <ncf> a context made up of class assertions
2025-09-24 20:24:41 +0200divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-09-24 20:24:50 +0200 <ncf> i guess GHC constraints don't have to be class assertions
2025-09-24 20:24:53 +0200divlamir(~divlamir@user/divlamir) divlamir
2025-09-24 20:25:09 +0200MelodyOwO(~MelodyOwO@user/MelodyOwO) (Quit: Leaving.)
2025-09-24 20:25:31 +0200 <cheater> what else can they be
2025-09-24 20:25:42 +0200 <ncf> equality constraints
2025-09-24 20:26:15 +0200 <ncf> and implicit parameters https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/constraint_kind.html
2025-09-24 20:28:50 +0200 <cheater> yeah i was thinking that
2025-09-24 20:37:15 +0200 <EvanR> implicit parameters, ewwwwww
2025-09-24 20:45:51 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-09-24 20:46:19 +0200 <tomsmeding> :t ?f <$> ?x
2025-09-24 20:46:20 +0200 <lambdabot> (Functor f, ?f::a -> b, ?x::f a) => f b
2025-09-24 20:46:45 +0200 <tomsmeding> also implicit parameters are just a reader monad but without needing to enter a monad
2025-09-24 20:47:07 +0200 <tomsmeding> I like implicit parameters; I use them rarely, but I like them when I do
2025-09-24 20:47:32 +0200finsternis(~X@23.226.237.192) finsternis
2025-09-24 20:47:40 +0200sprotte24(~sprotte24@p200300d16f03df00ed1f69e1a121dad0.dip0.t-ipconnect.de)
2025-09-24 21:00:06 +0200caconym74787(~caconym@user/caconym) (Quit: bye)
2025-09-24 21:00:46 +0200caconym74787(~caconym@user/caconym) caconym
2025-09-24 21:02:56 +0200jaror(~jaror@5070ACC7.static.ziggozakelijk.nl) (Quit: The Lounge - https://thelounge.chat)
2025-09-24 21:04:39 +0200jaror3(~jaror@5070ACC7.static.ziggozakelijk.nl)
2025-09-24 21:04:52 +0200 <[exa]> tomsmeding: "which layer of the RTS" :D
2025-09-24 21:05:03 +0200 <tomsmeding> I dunno lol
2025-09-24 21:05:22 +0200 <tomsmeding> colleague gave few details, but they seemed happy with what int-e linked
2025-09-24 21:06:51 +0200 <[exa]> tomsmeding: ah ok... feel free to link that uskel nonsense of mine in case they want a lowlevel demo
2025-09-24 21:07:07 +0200 <[exa]> it's not STG per se but imagining the spine stack next to it isn't hard
2025-09-24 21:08:32 +0200 <[exa]> also the general other part of RTS is "how does the IO eventloop work with threads and GC" and tbh that is seriously dark magic for me
2025-09-24 21:09:35 +0200 <tomsmeding> right, when I think of "RTS" I think scheduler, IO loop, GC, etc.
2025-09-24 21:09:41 +0200 <tomsmeding> STG to me is compilation and codegen
2025-09-24 21:10:19 +0200 <tomsmeding> the fact that there happens to be an STG interpreter in the RTS (which TIL) is just because... for some reason a compiled haskell executable has ghci in it?
2025-09-24 21:10:23 +0200 <tomsmeding> is that really true?
2025-09-24 21:10:38 +0200leah2(~leah@vuxu.org) (Ping timeout: 256 seconds)
2025-09-24 21:11:01 +0200 <tomsmeding> [exa]: https://tomsmeding.com/ss/get/tomsmeding/aGJuCc
2025-09-24 21:12:35 +0200 <[exa]> well the compiled haskell code is the STG interpreter, implicitly. I'm not OK with the "has ghci in it" part, see no reason for that, but it might be a ghc-specific thing nowadays
2025-09-24 21:12:53 +0200 <[exa]> tomsmeding: https://git.e-x-a.org/exa/uskel
2025-09-24 21:13:27 +0200 <tomsmeding> oof
2025-09-24 21:14:57 +0200 <tomsmeding> I thought I was cool in having written a micro netcat clone in assembly like 10 years go
2025-09-24 21:14:59 +0200 <tomsmeding> *ago
2025-09-24 21:15:44 +0200Googulator(~Googulato@80-95-93-255.pool.digikabel.hu) (Quit: Client closed)
2025-09-24 21:15:47 +0200Googulator37(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 21:16:36 +0200 <[exa]> tbh the netcat in assembly is probably harder, the stupidest part of this is that you need to encode the STG operations in the assembly macros
2025-09-24 21:17:14 +0200 <[exa]> and then you basically have haskell without the typesystem
2025-09-24 21:17:16 +0200 <tomsmeding> that just makes it better
2025-09-24 21:17:25 +0200 <tomsmeding> if you want pain, you can have pain
2025-09-24 21:17:28 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-09-24 21:18:39 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 244 seconds)
2025-09-24 21:20:54 +0200 <[exa]> e.g. this thing: https://git.e-x-a.org/exa/uskel/src/branch/master/fibs.s#L40-L44 -- if you read it from below, it essentially encodes thunks for AST `print(list_int_index(int(20), fibs0))`, and starts evaluating it it with continuation going into main_exit
2025-09-24 21:21:58 +0200 <[exa]> `thunkto %r11, $list_int_index, $2, %r11, %r12` reads "make a thunk and save its address to r11, the thunk will be evaluated by list_int_index, it has 2 arguments and they are at addresses from r11 and r12"
2025-09-24 21:22:19 +0200 <tomsmeding> I figured that out about 3 seconds before you posted
2025-09-24 21:22:23 +0200 <[exa]> <3
2025-09-24 21:22:59 +0200 <tomsmeding> I was like, what's that $2 doing... there's a $20 before but oh that's an immediate... oh there is $0 at fibs0... oh wait
2025-09-24 21:23:24 +0200 <[exa]> yeah fibs0 is a starter, in haskell it would be `fibs0 = fibs 0 1`
2025-09-24 21:23:32 +0200leah2(~leah@vuxu.org) leah2
2025-09-24 21:23:49 +0200 <tomsmeding> does %rsi have a special meaning?
2025-09-24 21:23:51 +0200 <[exa]> TECHNICALLY I could make gnu as macros that simply parse haskell code into this, but man, so lazy
2025-09-24 21:23:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 21:23:58 +0200 <tomsmeding> I don't see it used or referenced above
2025-09-24 21:24:00 +0200 <[exa]> yeah %rsi in this case is a continuation pointer
2025-09-24 21:24:22 +0200 <tomsmeding> ah so if the thunk being entered has been evaluated to whnf, %rsi is entered?
2025-09-24 21:24:38 +0200annamalai(~annamalai@157.33.214.216) annamalai
2025-09-24 21:25:02 +0200 <[exa]> %rbp always points to the thunk that's currently evaluated, %rsi is "where it should send the result" (aka address of continuation), and %rsp points funnily to the small haskell heap, (this ignores the C stack entirely)
2025-09-24 21:25:11 +0200 <[exa]> reason: I can write thunks with a series of pushq
2025-09-24 21:25:33 +0200 <tomsmeding> "I have 1-instruction bump allocator"
2025-09-24 21:25:45 +0200 <tomsmeding> one word at a time
2025-09-24 21:25:59 +0200 <[exa]> the needs_alloc at the top of each thunk is checking if there's enough memory and triggers gc if not
2025-09-24 21:26:13 +0200 <tomsmeding> cool
2025-09-24 21:26:14 +0200 <[exa]> yeah the gc is probably the smartest part
2025-09-24 21:26:32 +0200 <[exa]> it has to fit into like 5 registers because the thunks need other registers to be able to compute their evacuation
2025-09-24 21:26:45 +0200 <tomsmeding> interesting
2025-09-24 21:26:57 +0200 <tomsmeding> you're using all of the x64 registers?
2025-09-24 21:27:22 +0200 <[exa]> and there's some oversmartness that is able to actually increase the amount of memory allocated IF it seems that the GC runs don't really help much
2025-09-24 21:27:43 +0200 <tomsmeding> increase nursery size, you mean?
2025-09-24 21:27:51 +0200 <[exa]> not really, in the "normal" evaluation only the 3 above are "important"
2025-09-24 21:28:14 +0200 <[exa]> during gc I think I use all "general" registers, ie %r8 to %r15
2025-09-24 21:28:24 +0200olivial(~benjaminl@user/benjaminl) (Ping timeout: 260 seconds)
2025-09-24 21:28:43 +0200 <[exa]> the whole gc is registers-only, it only has a tiny global blob where it stores some extra info
2025-09-24 21:28:54 +0200 <[exa]> "nursery size" --- there's only nursery
2025-09-24 21:28:59 +0200 <tomsmeding> right
2025-09-24 21:28:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-09-24 21:29:18 +0200 <tomsmeding> I find it funny that hand-written assembly code tends to use registers so differently from generated code
2025-09-24 21:29:21 +0200 <[exa]> like if someone added an extra gc layer on top of this, it's actually going to be fast
2025-09-24 21:29:48 +0200 <[exa]> well lemme point to code a bit
2025-09-24 21:29:53 +0200 <tomsmeding> as fast as it can be if everything ever is boxed, right?
2025-09-24 21:30:35 +0200 <[exa]> these are the allocator globals: https://git.e-x-a.org/exa/uskel/src/branch/master/include/gc.s#L5
2025-09-24 21:30:39 +0200Googulator84(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 21:30:48 +0200 <[exa]> well no one says you need to box your stuff
2025-09-24 21:30:49 +0200Googulator37(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 21:30:54 +0200target_i(~target_i@user/target-i/x-6023099) target_i
2025-09-24 21:31:01 +0200 <tomsmeding> :p
2025-09-24 21:31:06 +0200 <tomsmeding> that's fair
2025-09-24 21:31:29 +0200 <tomsmeding> `call` reserves a single word of space with the parameter as value?
2025-09-24 21:31:32 +0200 <[exa]> as in, you can perfectly do a thunk that contains `fibs, $2, $0, $1`
2025-09-24 21:31:54 +0200 <tomsmeding> but what will the GC do with a thunk that contains things that are not themselves thunks
2025-09-24 21:32:05 +0200tt12310978324354(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Quit: The Lounge - https://thelounge.chat)
2025-09-24 21:32:30 +0200 <tomsmeding> s/`call`/`cell`/ what a dumb typo
2025-09-24 21:32:30 +0200 <[exa]> nothing, it doesn't know it. You need to make sure the thunk you have there is aware how to clean itself
2025-09-24 21:33:09 +0200trickard__trickard
2025-09-24 21:33:12 +0200 <[exa]> I think haskell had at some point a few "types" of thunks based on combination of boxedness of stuff stored in them, e.g. there was 2-param thunk for UU, then BB, UB, BU
2025-09-24 21:33:22 +0200tt12310978324354(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) tt1231
2025-09-24 21:33:46 +0200 <[exa]> e.g. this is the object type definition for integers: https://git.e-x-a.org/exa/uskel/src/branch/master/include/data.s#L32-L48
2025-09-24 21:34:10 +0200 <tomsmeding> oh I see
2025-09-24 21:34:31 +0200 <tomsmeding> thunks contain a type tag and each thunk type has a corresponding GC callback ("evacuate") that does the cleanup
2025-09-24 21:34:55 +0200 <tomsmeding> right, infotables
2025-09-24 21:35:29 +0200 <tomsmeding> any particular reason why you built this? :p
2025-09-24 21:35:31 +0200olivial(~benjaminl@user/benjaminl) benjaminl
2025-09-24 21:35:32 +0200 <[exa]> it contains a single unboxed number, evacuate just copies both to the new location (pushq this time), and scavenge doesn't do anything because it doesn't point
2025-09-24 21:35:38 +0200 <[exa]> lol
2025-09-24 21:35:42 +0200 <[exa]> no idea
2025-09-24 21:35:51 +0200Googulator20(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 21:35:58 +0200 <[exa]> ah yeah I made a stupid small prolog before so I wanted to check if this would work
2025-09-24 21:36:16 +0200 <tomsmeding> sounds like a very good motivation
2025-09-24 21:36:17 +0200Googulator84(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 21:36:21 +0200 <[exa]> if bored https://gitea.blesmrt.net/exa/prlg/
2025-09-24 21:36:35 +0200 <tomsmeding> why different forge
2025-09-24 21:36:44 +0200 <[exa]> ah that's the old one
2025-09-24 21:36:45 +0200 <tomsmeding> p r l g https://gitea.blesmrt.net/exa/prlg/commit/3bfa127cbccbc77bb1b993153d6a6a2db2ec3ee4
2025-09-24 21:36:48 +0200 <[exa]> it should be on the new one as well
2025-09-24 21:37:32 +0200 <[exa]> anyway if you are SUPER BORED
2025-09-24 21:37:53 +0200 <tomsmeding> I was bored enough to click around a bit in prlg and then give up
2025-09-24 21:37:53 +0200 <[exa]> there's a vienna abstract machine, which is kinda like warren abstract machine but has 2 instruction pointers, which allows it to allocate less
2025-09-24 21:38:02 +0200weary-traveler(~user@user/user363627) user363627
2025-09-24 21:38:15 +0200 <[exa]> so this is a slightly refactored VAM in.... haskell lists.
2025-09-24 21:38:25 +0200 <tomsmeding> :D
2025-09-24 21:38:39 +0200 <tomsmeding> sounds very fast
2025-09-24 21:39:06 +0200 <[exa]> I was playing with the idea of metalanguages in prolog there, like the stuff they have for CLP
2025-09-24 21:39:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 21:39:56 +0200 <[exa]> after the effort I made a crucial observation that metalanguages are a complete BS and people should instead write more tiny transpilers and preprocessors
2025-09-24 21:40:09 +0200 <[exa]> (sounds biased!)
2025-09-24 21:40:29 +0200 <tomsmeding> how do you implement somethine like a CLP using a transpiler?
2025-09-24 21:40:33 +0200 <tomsmeding> s/a CLP/CLP/
2025-09-24 21:40:53 +0200 <[exa]> you make another language that describes it nicely and compile it to prolog
2025-09-24 21:41:32 +0200 <tomsmeding> but don't you need something more than plain prolog search to efficiently solve CLP problems?
2025-09-24 21:41:34 +0200 <[exa]> the actual CLP implementation in most prologs, including swi, (and except maybe the historical big ones) is a bunch of macros
2025-09-24 21:41:40 +0200 <tomsmeding> oh really
2025-09-24 21:41:59 +0200 <[exa]> yeah tbh I expected more in there
2025-09-24 21:42:13 +0200 <tomsmeding> found the jump into the infotable https://git.e-x-a.org/exa/uskel/src/branch/master/include/gc.s#L154
2025-09-24 21:42:27 +0200 <__monty__> And why is a separate compiler better than a macro system?
2025-09-24 21:42:40 +0200 <[exa]> "prolog macros" as in term_expansion/2 and goal_expansion/2
2025-09-24 21:43:10 +0200 <[exa]> __monty__: oh, a clean macro system _is_ okay. The magic is to avoid mixing the layers.
2025-09-24 21:43:40 +0200 <[exa]> still no idea how to defend haskell in this view, the "types" are kinda metalanguage that mixes very much, yet they are SO GOOD
2025-09-24 21:44:20 +0200 <tomsmeding> types don't feel like a metalanguage to me, but that may be because I'm mostly unfamiliar with the whole prolog mindspace
2025-09-24 21:44:20 +0200 <[exa]> disclaimer, these ^^ are more like feelings than actual opinions, don't fry me over details pls
2025-09-24 21:44:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 21:46:47 +0200 <tomsmeding> [exa]: looking at https://e-x-a.org/ , is there a particular reason why you pluralise 'fedis' 'githubs' etc
2025-09-24 21:46:59 +0200 <tomsmeding> I've seen you do that before here on irc, kind of
2025-09-24 21:47:10 +0200 <tomsmeding> and now I'm wondering if it's just funny or if there's something I'm missing
2025-09-24 21:47:24 +0200 <[exa]> tomsmeding: re gc, there are funny things. The memory is (for some certain convenience lol) allocated in decreasing direction but scavenging can only move the pointer to the next item forward (scavenging is the only way to guess the size of something), so there's a double loop there, in each round a bit of stuff is evacuated (growing down) and then the whole new evacuated thing is scavenged back
2025-09-24 21:47:26 +0200 <[exa]> to top
2025-09-24 21:47:39 +0200 <monochrom> Yeah the debate between "there are lambda terms, and then some of them are typeable in your [limited] type system" vs "there are types, and then there are lambda terms [but only typeable ones]"
2025-09-24 21:47:49 +0200fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2025-09-24 21:47:51 +0200 <[exa]> ah lol, that's like "interwebs" or so
2025-09-24 21:48:21 +0200 <tomsmeding> yeah
2025-09-24 21:48:24 +0200 <tomsmeding> interesting re gc
2025-09-24 21:48:30 +0200 <monochrom> Quantum gravity predicts a superposition of multiple githubs >:)
2025-09-24 21:48:51 +0200 <[exa]> we've got a relatively legendary meme in CZ with the old woman saying something like "I'd ban all these internets" back in 1995-ish for a big newspaper
2025-09-24 21:49:00 +0200 <[exa]> locally legendary I'd say
2025-09-24 21:49:02 +0200 <tomsmeding> so when something is deallocated, it's first moved by evacuation, and then deleted?
2025-09-24 21:49:34 +0200 <[exa]> so I guess it might be derived from that one
2025-09-24 21:49:41 +0200 <tomsmeding> sounds goo
2025-09-24 21:49:43 +0200 <tomsmeding> *good
2025-09-24 21:50:07 +0200 <[exa]> if something is deallocated it's never reached by the scavenging because there's nothing to scavenge it
2025-09-24 21:50:13 +0200 <[exa]> btw scavenge routine _calls_ evacuations
2025-09-24 21:50:40 +0200 <[exa]> s/calls/triggers/, there's no actual call anywhere
2025-09-24 21:51:38 +0200tomsmedingdoesn't quite follow the gc stuff any more but it's late and I don't care enough today, sorry
2025-09-24 21:51:51 +0200 <tomsmeding> it's not complicated but my brain is not active enough :)
2025-09-24 21:51:56 +0200m1dnight(~m1dnight@109.236.63.53) m1dnight
2025-09-24 21:54:01 +0200 <monochrom> Haha "Unknown function: ... This is so exciting that it deserves its own section"
2025-09-24 21:54:02 +0200 <[exa]> yeah it's actually simple, but quite tangled together in like 2 big circles which doesn't help
2025-09-24 21:54:20 +0200 <[exa]> oh wow the internets meme has its own wiki https://cs.wikipedia.org/wiki/J%C3%A1_bych_v%C5%A1echny_ty_internety_a_po%C4%8D%C3%ADta%C4%8De_zak…
2025-09-24 21:54:30 +0200Googulator20(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 21:54:35 +0200 <[exa]> tomsmeding: googletranslate if you want to ^
2025-09-24 21:54:44 +0200Googulator20(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 21:55:14 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Read error: Connection reset by peer)
2025-09-24 21:55:25 +0200 <tomsmeding> when I look at that page I see "letters with lots of '
2025-09-24 21:55:27 +0200 <tomsmeding> "
2025-09-24 21:55:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 21:55:31 +0200 <tomsmeding> okay that came out wrong
2025-09-24 21:55:45 +0200 <tomsmeding> "letters with lots of ´"
2025-09-24 21:55:47 +0200 <tomsmeding> there
2025-09-24 21:55:53 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-09-24 21:55:53 +0200 <[exa]> yeah somehow it didn't reach english internets
2025-09-24 21:56:14 +0200 <[exa]> monochrom: lol where
2025-09-24 21:56:22 +0200 <tomsmeding> gtranslate successfully translates internety to "internets"
2025-09-24 21:56:30 +0200 <[exa]> \o/
2025-09-24 21:56:47 +0200 <monochrom> The GHC wiki, RTS, function calls.
2025-09-24 21:56:54 +0200 <tomsmeding> oh but only in the first paragraph, not in the callout blockquote
2025-09-24 21:57:01 +0200 <monochrom> err, RTS, execution, function calls
2025-09-24 21:58:40 +0200 <monochrom> I'm going to use the phrase "this is so exciting that it deserves its own lecture/assignment/course" when I teach. >:)
2025-09-24 21:59:38 +0200 <tomsmeding> :D
2025-09-24 21:59:53 +0200 <monochrom> Sample preview: "The Parser type together with pure and (>>=) forms a monad. This is so exciting that..."
2025-09-24 21:59:56 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-09-24 22:00:01 +0200 <tomsmeding> nice
2025-09-24 22:00:38 +0200 <monochrom> BTW the number theory course here, the prof decides "I don't want to talk about the Peano axioms" so he told students "free monoid on the singleton set".
2025-09-24 22:00:55 +0200 <[exa]> radical.
2025-09-24 22:01:02 +0200 <tomsmeding> so he taught category theory instead?
2025-09-24 22:02:05 +0200 <monochrom> Also it looks like he characterizes lcm as a categorical product. (This I haven't verified. I just saw, on blackboards in our math aid room, a commuting showing 60->6, 6->2, 6->3"
2025-09-24 22:02:19 +0200dhil(~dhil@5.151.29.141) (Ping timeout: 250 seconds)
2025-09-24 22:02:38 +0200 <monochrom> commuting diagram
2025-09-24 22:03:51 +0200 <monochrom> I'm now very afraid (haha). Maybe I should teach free monads and algebraic effects and Yoneda lemma to keep up.
2025-09-24 22:04:37 +0200 <[exa]> tbh you should
2025-09-24 22:05:18 +0200 <[exa]> like, even if you spent 3 minutes on each just showing the intuition, you convert a few people from "omg yoneda is too much categories to understand" to "ok wow yoneda again"
2025-09-24 22:05:36 +0200Googulator20(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 22:05:39 +0200Googulator98(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 22:05:49 +0200 <tomsmeding> [exa]: that meme history is unsatisfying, I expected a response from Pohlová herself
2025-09-24 22:06:35 +0200 <[exa]> we assumed she banned the internet locally and has no way to respond
2025-09-24 22:06:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 22:07:25 +0200 <monochrom> It was the last straw that converted me, to be sure. :)
2025-09-24 22:08:32 +0200 <[exa]> monochrom: a slight indoctrination with categories is never wrong
2025-09-24 22:10:19 +0200[exa]observes it's time to open a beverage
2025-09-24 22:11:05 +0200peterbecich(~Thunderbi@syn-172-222-149-049.res.spectrum.com) peterbecich
2025-09-24 22:12:18 +0200 <monochrom> It happened this way if you want to know. Gordon Plotkin accepted an invitation to our university to give a lecture. He casually gave examples of "generic effects" e.g. "(M a)^2 -> M a" becomes "M Bool". I could see that intuitively it's right but I could put my finger on a math reason. Then it dawned on me "I'm a moron, I'm supposed to know the Yoneda lemma!"
2025-09-24 22:12:39 +0200Googulator98Googulator
2025-09-24 22:13:04 +0200 <monochrom> s/could/couldn't/
2025-09-24 22:13:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-09-24 22:13:46 +0200tomsmedingshall retire for the night, thanks for the fun
2025-09-24 22:14:41 +0200 <haskellbridge> <magic_rb> Goodnight
2025-09-24 22:15:12 +0200 <tomsmeding> :)
2025-09-24 22:17:43 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-09-24 22:24:56 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 22:25:32 +0200Googulator43(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 22:26:12 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 22:29:28 +0200peterbecich(~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 258 seconds)
2025-09-24 22:29:57 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 22:30:28 +0200Googulator43(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 22:30:38 +0200Googulator43(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 22:31:37 +0200shachaf_shachaf
2025-09-24 22:32:04 +0200shachaf(~shachaf@li227-219.members.linode.com) (Changing host)
2025-09-24 22:32:04 +0200shachaf(~shachaf@user/shachaf) shachaf
2025-09-24 22:32:30 +0200Googulator43Googulator
2025-09-24 22:35:22 +0200takuan(~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-09-24 22:35:40 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 22:35:43 +0200Googulator81(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 22:36:27 +0200karenw_(~karenw@user/karenw) karenw
2025-09-24 22:37:51 +0200petrichor(~jez@user/petrichor) (Read error: Connection reset by peer)
2025-09-24 22:38:29 +0200Googulator81Googulator
2025-09-24 22:40:43 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 22:41:00 +0200petrichor(~jez@user/petrichor) petrichor
2025-09-24 22:41:18 +0200fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 256 seconds)
2025-09-24 22:45:35 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 22:55:39 +0200Googulator6(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 22:55:43 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 22:56:30 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 22:57:09 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 265 seconds)
2025-09-24 23:01:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-09-24 23:09:20 +0200califax(~califax@user/califx) (Ping timeout: 272 seconds)
2025-09-24 23:09:49 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2025-09-24 23:10:18 +0200mulk(~mulk@pd95144c3.dip0.t-ipconnect.de) mulk
2025-09-24 23:11:14 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 272 seconds)
2025-09-24 23:11:16 +0200califax(~califax@user/califx) califx
2025-09-24 23:12:17 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 23:12:43 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61)
2025-09-24 23:12:43 +0200arandombit(~arandombi@2603:7000:4600:ffbe:15f4:44c6:cf8f:dc61) (Changing host)
2025-09-24 23:12:43 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-24 23:12:46 +0200ec_(~ec@gateway/tor-sasl/ec) ec
2025-09-24 23:13:19 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-09-24 23:13:41 +0200Chai-T-Rex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-09-24 23:13:46 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 272 seconds)
2025-09-24 23:13:46 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 272 seconds)
2025-09-24 23:13:57 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-09-24 23:14:24 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 272 seconds)
2025-09-24 23:14:32 +0200chexum_(~quassel@gateway/tor-sasl/chexum) chexum
2025-09-24 23:14:41 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-09-24 23:15:35 +0200Googulator6(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 23:15:42 +0200Googulator6(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 23:17:23 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 23:22:19 +0200Googulator6Googulator
2025-09-24 23:23:46 +0200michalz(~michalz@185.246.207.197) (Remote host closed the connection)
2025-09-24 23:28:05 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 23:30:26 +0200Square2(~Square@user/square) Square
2025-09-24 23:31:50 +0200Enrico63(~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) Enrico63
2025-09-24 23:32:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-09-24 23:33:42 +0200Square(~Square4@user/square) (Ping timeout: 252 seconds)
2025-09-24 23:35:03 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2025-09-24 23:35:36 +0200Googulator(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed)
2025-09-24 23:35:42 +0200Googulator51(~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu)
2025-09-24 23:43:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-09-24 23:48:22 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-09-24 23:50:44 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-09-24 23:53:54 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)