2025/08/04

2025-08-04 00:00:53 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-04 00:02:05 +0200 <sshine> I'm writing some Haskell for the first time in 3.5 years. I thought I'd let the AI help me get started, and I quickly found out: if it's not going to be pretty, why even bother writing it in Haskell. https://gist.github.com/sshine/888a188f591c922018bf0dacda9f0fb2
2025-08-04 00:05:01 +0200 <haskellbridge> <magic_rb> Unsurprisingly LLMs are ass at writing code
2025-08-04 00:08:14 +0200vanishingideal(~vanishing@user/vanishingideal) (Remote host closed the connection)
2025-08-04 00:11:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 00:15:31 +0200 <yin> sshine: i think your mistake was trying to use AI to write haskell
2025-08-04 00:16:22 +0200 <glguy> Some people, when confronted with a problem, think “I know, I’ll use [AI].” Now they have two problems.
2025-08-04 00:17:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-08-04 00:18:24 +0200 <yin> glguy: https://claude.ai/share/ee3ac6e0-4d68-4863-8035-04c49e7aa2a1
2025-08-04 00:18:44 +0200 <yin> i think it's finally becoming self-aware
2025-08-04 00:19:49 +0200 <yin> sshine: "The joke works particularly well because AI problems can be quite slippery - unlike a broken regex that simply doesn't match what you expect, AI might give you plausible-sounding but incorrect information, or work great in testing but fail in subtle ways in production." - Claude AI
2025-08-04 00:24:39 +0200 <geekosaur> neh, it's just more kn owledge. it's not capable of reflecting on it, though
2025-08-04 00:25:45 +0200tromp(~textual@2001:1c00:3487:1b00:1c21:f6c3:9146:cddf) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-04 00:27:12 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 00:28:20 +0200delyan_(sid523379@id-523379.hampstead.irccloud.com)
2025-08-04 00:29:26 +0200 <yin> https://claude.ai/share/3420b044-6430-4a80-96af-f369770493ec this was actually an interesting read :D
2025-08-04 00:30:31 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 00:30:46 +0200 <yin> > Maybe the real insight is that the most powerful tools require us to become more sophisticated users, not less. The "second problem" is often: how do I stay human while benefiting from inhuman capabilities?
2025-08-04 00:30:47 +0200 <lambdabot> <hint>:1:101: error: parse error on input ‘,’
2025-08-04 00:31:09 +0200weary-traveler(~user@user/user363627) user363627
2025-08-04 00:31:12 +0200 <yin> great timing, lambdabot
2025-08-04 00:31:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-04 00:31:52 +0200 <geekosaur> what timing? you fed it a leading "> "
2025-08-04 00:33:08 +0200 <yin> geekosaur: i was jokingly personifying the bot as being aware of its comedic timing
2025-08-04 00:34:40 +0200 <yin> i didn't mean to trigger it, but it was so appropriately ironic
2025-08-04 00:34:59 +0200fizbin(~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5)
2025-08-04 00:35:21 +0200fizbin(~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5) (Changing host)
2025-08-04 00:35:21 +0200fizbin(~fizbin@user/fizbin) fizbin
2025-08-04 00:36:14 +0200user363627(~user@user/user363627) user363627
2025-08-04 00:39:36 +0200weary-traveler(~user@user/user363627) (Ping timeout: 276 seconds)
2025-08-04 00:42:36 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 00:44:05 +0200fizbin(~fizbin@user/fizbin) (Read error: Connection reset by peer)
2025-08-04 00:47:26 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-08-04 00:57:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 00:59:35 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-08-04 01:03:30 +0200sprotte24(~sprotte24@p200300d16f12c90091062a35ec430294.dip0.t-ipconnect.de) (Quit: Leaving)
2025-08-04 01:03:54 +0200sprotte24(~sprotte24@p200300d16f12c90091062a35ec430294.dip0.t-ipconnect.de)
2025-08-04 01:04:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-04 01:09:54 +0200sprotte24(~sprotte24@p200300d16f12c90091062a35ec430294.dip0.t-ipconnect.de) (Quit: Leaving)
2025-08-04 01:15:57 +0200Spawns(~mobile@user/spawns-carpeting/x-6969421) Spawns_Carpeting
2025-08-04 01:16:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 01:17:22 +0200jreicher(~user@user/jreicher) (Quit: brb)
2025-08-04 01:17:55 +0200jreicher(~user@user/jreicher) jreicher
2025-08-04 01:19:26 +0200jreicher(~user@user/jreicher) (Read error: Connection reset by peer)
2025-08-04 01:20:09 +0200jreicher(~user@user/jreicher) jreicher
2025-08-04 01:20:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-04 01:29:24 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-08-04 01:31:23 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 01:32:15 +0200jbalint(~jbalint@2600:6c44:117f:e98a:40bb:52ad:62b8:5122)
2025-08-04 01:33:28 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2025-08-04 01:33:29 +0200ljdarj1ljdarj
2025-08-04 01:35:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-04 01:37:00 +0200jbalint(~jbalint@2600:6c44:117f:e98a:40bb:52ad:62b8:5122) (Ping timeout: 252 seconds)
2025-08-04 01:39:46 +0200Lycurgus(~juan@user/Lycurgus) (Read error: Connection reset by peer)
2025-08-04 01:41:50 +0200trickard(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 01:42:04 +0200trickard(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 01:46:46 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 01:48:47 +0200trickard(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 01:51:18 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-04 01:52:54 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 02:01:34 +0200euphores(~SASL_euph@user/euphores) (Ping timeout: 260 seconds)
2025-08-04 02:02:09 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 02:03:11 +0200tdscg^(~tdscg@99-73-20-238.lightspeed.tukrga.sbcglobal.net)
2025-08-04 02:04:30 +0200trickard_trickard
2025-08-04 02:06:03 +0200fizbin(~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5)
2025-08-04 02:06:41 +0200fizbin(~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5) (Read error: Connection reset by peer)
2025-08-04 02:07:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-04 02:07:24 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-08-04 02:11:39 +0200acidjnk(~acidjnk@p200300d6e71719149d1d473a745282b7.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-08-04 02:17:32 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 02:21:44 +0200 <EvanR> lambdabot is timeless
2025-08-04 02:22:18 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2025-08-04 02:22:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-08-04 02:26:12 +0200caubert(~caubert@user/caubert) (Ping timeout: 276 seconds)
2025-08-04 02:33:00 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 02:37:04 +0200Spawns(~mobile@user/spawns-carpeting/x-6969421) (Quit: ZNC 1.9.1 - https://znc.in)
2025-08-04 02:38:58 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 02:40:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-04 02:42:55 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-08-04 02:51:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 02:55:29 +0200Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421) Spawns_Carpeting
2025-08-04 02:55:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-04 02:58:16 +0200ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-08-04 03:01:15 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-04 03:06:26 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 03:10:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-04 03:11:07 +0200tdscg^(~tdscg@99-73-20-238.lightspeed.tukrga.sbcglobal.net) (Ping timeout: 252 seconds)
2025-08-04 03:14:40 +0200jackdk(uid373013@cssa/life/jackdk) jackdk
2025-08-04 03:15:38 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-04 03:21:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 03:26:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-04 03:28:30 +0200trickard(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 03:28:44 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 03:32:30 +0200xff0x(~xff0x@2405:6580:b080:900:962e:1741:aa8f:27af) (Ping timeout: 252 seconds)
2025-08-04 03:33:05 +0200jmcantrell(~weechat@user/jmcantrell) (Quit: WeeChat 4.7.0)
2025-08-04 03:36:14 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-08-04 03:37:12 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 03:38:16 +0200jespada(~jespada@2800:a4:2303:d900:b08d:81d0:3400:c094) (Ping timeout: 276 seconds)
2025-08-04 03:40:17 +0200jespada(~jespada@2800:a4:2260:8800:384b:5038:f5a7:35ca) jespada
2025-08-04 03:41:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-04 03:42:49 +0200Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-08-04 03:43:54 +0200tdscg^(~tdscg@99-73-20-238.lightspeed.tukrga.sbcglobal.net)
2025-08-04 03:52:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 03:57:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-08-04 04:01:18 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 04:01:32 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 04:06:13 +0200polykernel(~polykerne@user/polykernel) (Remote host closed the connection)
2025-08-04 04:07:16 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 04:08:05 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 04:09:06 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-08-04 04:09:58 +0200polykernel(~polykerne@user/polykernel) polykernel
2025-08-04 04:12:25 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 04:14:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-04 04:17:39 +0200phma_(phma@2001:5b0:211f:9718:c681:cfad:1132:e02)
2025-08-04 04:18:06 +0200phma(~phma@host-67-44-208-38.hnremote.net) (Read error: Connection reset by peer)
2025-08-04 04:22:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 04:27:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-04 04:30:13 +0200arahael(~arahael@user/arahael) (Ping timeout: 248 seconds)
2025-08-04 04:38:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 04:42:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-04 04:48:43 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
2025-08-04 04:53:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 04:57:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-04 05:00:21 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-04 05:02:56 +0200Lycurgus(~juan@user/Lycurgus) (Client Quit)
2025-08-04 05:06:16 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 05:08:55 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 05:09:00 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 05:13:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-04 05:18:12 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 05:19:25 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 05:22:45 +0200aforemny_(~aforemny@i59F4C627.versanet.de) aforemny
2025-08-04 05:23:33 +0200aforemny(~aforemny@2001:9e8:6cdf:a900:21ae:b2:f02b:ad36) (Ping timeout: 248 seconds)
2025-08-04 05:24:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 05:26:08 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-08-04 05:28:53 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-04 05:31:17 +0200amadaluzia(~amadaluzi@user/amadaluzia) (Quit: ZNC 1.10.1 - https://znc.in)
2025-08-04 05:39:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 05:43:40 +0200jmorris(uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2025-08-04 05:44:48 +0200polykernel(~polykerne@user/polykernel) (Remote host closed the connection)
2025-08-04 05:45:29 +0200polykernel(~polykerne@user/polykernel) polykernel
2025-08-04 05:47:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-08-04 05:55:17 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 05:59:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-04 06:10:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 06:15:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-04 06:23:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 06:28:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-04 06:39:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 06:41:25 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
2025-08-04 06:43:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-04 06:48:27 +0200phma_phma
2025-08-04 06:53:20 +0200caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2025-08-04 06:54:38 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 06:56:22 +0200michalz(~michalz@185.246.207.197)
2025-08-04 06:58:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-04 07:03:08 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-08-04 07:05:49 +0200euouae(~euouae@user/euouae) euouae
2025-08-04 07:06:36 +0200 <euouae> Hello I have a situation where I need a dynamic stream to parse. Attoparsec has a (token, rest) type of interface, so I can continue parsing rest (after dynamically modifying it); but Megaparsec doesn't seem to have this, instead only a 'parse' function. Am I correct that it can't be done with Megaparsec?
2025-08-04 07:06:55 +0200 <euouae> The context is macroexpansion where the expansion is prepended to the stream
2025-08-04 07:10:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 07:11:10 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 07:14:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-04 07:17:09 +0200caubert(~caubert@user/caubert) (Ping timeout: 248 seconds)
2025-08-04 07:23:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 07:23:56 +0200poscat0x04(~poscat@user/poscat) poscat
2025-08-04 07:25:12 +0200 <c_wraith> euouae: is that a thing you could fake with getInput and setInput?
2025-08-04 07:25:38 +0200poscat(~poscat@user/poscat) (Ping timeout: 248 seconds)
2025-08-04 07:28:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-04 07:31:07 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 07:36:34 +0200 <euouae> c_wraith: hm, perhaps? That might be a good point. I wonder how I'd know how much has been consumed.
2025-08-04 07:37:03 +0200 <euouae> Oh, getInput would be the remainder, then I can setInput. Hm... Thanks for that hint!
2025-08-04 07:37:07 +0200euouaewill give this a try
2025-08-04 07:38:56 +0200 <Axman6> it feels weird to me that you effects would be _inside_ your parser, I was definitely looking for the partial result stuff other libraries offer
2025-08-04 07:40:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 07:41:07 +0200 <euouae> Why is it weird that effects are inside the parser?
2025-08-04 07:42:08 +0200 <euouae> I'll give an example. Suppose I have `define(foo, 42) foo`. The first command expands to "" (empty string), but now the macro table includes foo -> 42. Then foo itself is consumed; it expands to "42", and that is prepended to the input data stream. Finally, 42 is consumed, and it outputs itself.
2025-08-04 07:42:42 +0200 <euouae> There is no distinction between "here I'm parsing" and "here there's effects" because to parse is to cause effects
2025-08-04 07:42:52 +0200 <euouae> (if I understood you correctly)
2025-08-04 07:44:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-04 07:46:18 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) HarveyPwca
2025-08-04 07:55:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 08:00:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-08-04 08:00:15 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 08:00:28 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 08:01:47 +0200 <c_wraith> Well, that particular thing is probably better handled by using ParsecT around something else that maintains a mapping for you.
2025-08-04 08:02:11 +0200 <c_wraith> Maybe State, maybe ReaderT IO with an IORef, whatever.
2025-08-04 08:02:45 +0200 <c_wraith> But the important part is that you don't need to rewrite input to handle updating a mapping table.
2025-08-04 08:03:10 +0200 <euouae> No, input needs to be rewritten when `foo` is expanded to `42`
2025-08-04 08:03:15 +0200 <c_wraith> Why?
2025-08-04 08:03:28 +0200 <euouae> imagine if `foo` expands to `ba` and there's an `r` next in input and a `bar` macro
2025-08-04 08:03:28 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-04 08:03:42 +0200biberu(~biberu@user/biberu) biberu
2025-08-04 08:03:49 +0200 <euouae> i.e. `foo()r()` --> `bar()` --> `42`
2025-08-04 08:04:02 +0200 <euouae> To answer "why", because that's what I'm modelling :P
2025-08-04 08:04:23 +0200 <c_wraith> That sounds like a system you'd only design that way to torture its users
2025-08-04 08:05:04 +0200 <euouae> Lambda calculus isn't much different
2025-08-04 08:05:59 +0200 <c_wraith> Except that you can convert it to a tree and do your evaluation outside of the *input* space.
2025-08-04 08:06:51 +0200 <euouae> Are we talking about lambda calculus now or my problem?
2025-08-04 08:07:11 +0200 <c_wraith> What you're describing is closer to a full term rewriting system like mathematica, I suppose.
2025-08-04 08:07:23 +0200 <euouae> To be concrete, it's GNU M4.
2025-08-04 08:09:11 +0200 <c_wraith> ah. definitely a system intended to torture the user
2025-08-04 08:09:51 +0200poscat0x04(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 08:10:10 +0200 <euouae> okay, but you said "convert to tree"
2025-08-04 08:10:25 +0200 <euouae> how do you convert `foo()r()` to tree?
2025-08-04 08:10:25 +0200 <c_wraith> yes, that part was for how lambda calculus is different.
2025-08-04 08:10:32 +0200 <euouae> ah okay, I understand
2025-08-04 08:10:39 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 08:10:44 +0200 <euouae> lambda calculus doesn't have state
2025-08-04 08:10:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 08:12:49 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-04 08:14:06 +0200 <euouae> c_wraith: any other hints I'll take. I'll look into megaparsec's getInput and setInput tomorrow.
2025-08-04 08:14:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-04 08:17:40 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
2025-08-04 08:25:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 08:32:29 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-08-04 08:36:04 +0200visilii(~visilii@213.24.127.253) (Ping timeout: 260 seconds)
2025-08-04 08:37:32 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 08:37:45 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 08:40:13 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 08:40:31 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 08:41:54 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 08:42:32 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 08:43:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 08:45:00 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 08:48:06 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 08:48:18 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-04 08:49:15 +0200 <jreicher> euouae: parsing does not causing effects, and I'm not sure why you would say that
2025-08-04 08:49:25 +0200poscat0x04(~poscat@user/poscat) poscat
2025-08-04 08:53:37 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288)
2025-08-04 08:53:52 +0200poscat(~poscat@user/poscat) (Ping timeout: 272 seconds)
2025-08-04 08:54:54 +0200 <euouae> jreicher: why do you say that parsing does not cause effects? :)
2025-08-04 08:55:37 +0200 <jreicher> Because it's a pure computation. It's a function with an input, and output, and no side effects.
2025-08-04 08:56:17 +0200 <euouae> what if the input and output depend on state?
2025-08-04 08:56:19 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-04 08:56:23 +0200 <jreicher> There's no such thing
2025-08-04 08:56:34 +0200 <euouae> Proof?
2025-08-04 08:56:38 +0200 <jreicher> That's like saying multiplication of integers depends on state.
2025-08-04 08:56:50 +0200 <euouae> Why not?
2025-08-04 08:57:08 +0200 <jreicher> Why doesn't multiplication of integers depend on state?
2025-08-04 08:57:26 +0200 <euouae> (Which multiplication?)
2025-08-04 08:57:32 +0200 <jreicher> Of integeres
2025-08-04 08:57:36 +0200 <jreicher> integers
2025-08-04 08:57:51 +0200 <euouae> It's not like saying that then
2025-08-04 08:58:22 +0200 <jreicher> It's exactly like that. Multiplication takes two integers as input and provides the product as output. A parser takes a string as input and provides the parse result as output.
2025-08-04 08:58:40 +0200 <jreicher> State doesn't relate to either of them, just as it doesn't relate to any pure computation.
2025-08-04 08:58:42 +0200 <euouae> Yes, but there is no single "parsing function", unlike your "multiplication", which you have fixed.
2025-08-04 08:58:58 +0200 <euouae> So in the former case I have the freedom to define the parsing function, and I can make it depend on state
2025-08-04 08:59:08 +0200 <euouae> If, in the latter, you allowed me to define *, I'd make it depend on state.
2025-08-04 08:59:13 +0200 <jreicher> It doesn't matter. You can refer to a family of functions, or you can parameterise with a grammar of some sort. However you define it, state still doesn't eom into it.
2025-08-04 08:59:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 08:59:42 +0200 <euouae> I don't think you quite follow, but in case I'm wrong, can you explain how you'd write a parser for M$
2025-08-04 08:59:44 +0200 <euouae> M4?
2025-08-04 09:00:05 +0200caconym747(~caconym@user/caconym) (Quit: bye)
2025-08-04 09:00:05 +0200 <euouae> Ultimately, how to take an m4 script and expand it
2025-08-04 09:00:46 +0200caconym747(~caconym@user/caconym) caconym
2025-08-04 09:01:13 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Quit: Frostillicus)
2025-08-04 09:01:17 +0200 <jreicher> I don't know M4, but generally speaking I like writing recursive ascent parsers.
2025-08-04 09:01:43 +0200 <euouae> Let me give you an idea
2025-08-04 09:02:03 +0200 <euouae> Imagine you have a language with `define(x, y)` that adds an entry of x -> y in a table
2025-08-04 09:02:12 +0200 <euouae> every time from then on that you encounter x(), you must replace with y
2025-08-04 09:02:39 +0200 <euouae> so if you have define(foo, ba) define(bar, 42) foo()r(), how would you parse that?
2025-08-04 09:02:52 +0200 <euouae> the end result should be 42
2025-08-04 09:03:23 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
2025-08-04 09:03:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-04 09:04:26 +0200 <jreicher> How does a language add an entry to a table? That's like saying "imagine you have a language that reformats a disk". It's just a meaningless mashing together of computer concepts.
2025-08-04 09:05:18 +0200 <euouae> what got to you today eh?
2025-08-04 09:05:38 +0200 <jreicher> I think you might be confusing production rules with one particular way of implementing them. But that's a guess.
2025-08-04 09:05:55 +0200 <euouae> yeah, an uneducated guess, I might add
2025-08-04 09:05:59 +0200 <euouae> since you admitted that you don't know M4
2025-08-04 09:06:19 +0200 <jreicher> Is there a BNF for M4?
2025-08-04 09:07:41 +0200 <euouae> you're funny
2025-08-04 09:08:15 +0200lisq(~quassel@lis.moe) (Remote host closed the connection)
2025-08-04 09:08:37 +0200sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-08-04 09:09:12 +0200 <jreicher> What do you consider to be the output of the parse?
2025-08-04 09:09:24 +0200lisq(~quassel@lis.moe) lisq
2025-08-04 09:10:38 +0200 <euouae> Can I just say that I'm ticked off from your earlier insults that I don't want to bother explaining now?
2025-08-04 09:11:43 +0200 <jreicher> I apologise. I didn't mean to insult. What I'm driving at here is that I think there's a core confusion and I'm trying to find where it is.
2025-08-04 09:12:59 +0200 <jreicher> The reason I ask about the output of the parse is I'm wondering if you're actually talking about doing the macro expansion. If so, you're completely right.
2025-08-04 09:13:13 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 09:13:17 +0200 <euouae> Cool
2025-08-04 09:13:28 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 09:14:46 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-08-04 09:14:50 +0200 <euouae> M4 is unlike many other languages, for one, it's not context-free.
2025-08-04 09:16:08 +0200 <jreicher> Which would make it hard to parse, certainly, but I can't help wondering if it's not parsed at all; just expanded.
2025-08-04 09:17:14 +0200 <euouae> It does have some concepts: strings, comments, macros, and macro arguments. Those things need to be parsed and interpreted (=expanded) before parsing and interpreting can continue.
2025-08-04 09:17:53 +0200 <jreicher> Would we be on the same page if I speculated that everything up to but not including an expansion is effect-free?
2025-08-04 09:18:41 +0200 <euouae> barring certain exceptions that can occur, yes
2025-08-04 09:19:02 +0200 <euouae> by exceptions I mean EOF on argument collection, e.g.
2025-08-04 09:19:40 +0200 <jreicher> Cool. That sounds very similar to a "classic" implementation of an RPN calculator. One of the things that makes RPN nice is that while you parse and evaluate the first part of it you can leave the rest on the input buffer, so parsing is not complete before you do evaluation; instead the two get interleaved. But they are still separate concepts.
2025-08-04 09:21:38 +0200 <euouae> Alright, RPN has static syntax, but sure
2025-08-04 09:23:23 +0200acidjnk(~acidjnk@p200300d6e71719559d1d473a745282b7.dip0.t-ipconnect.de) acidjnk
2025-08-04 09:23:30 +0200 <jreicher> If my recasting of this is correct (and that's a big if, considering I don't know M4), parsing routines might be the wrong thing to reach for with something that is "really" an evaluation.
2025-08-04 09:24:19 +0200 <euouae> Don't I need to read a string? a comment? etc?
2025-08-04 09:24:48 +0200 <euouae> Do you want me to do that by hand?
2025-08-04 09:25:05 +0200 <jreicher> It depends on how pedantic you want to be about what "parse" is. In theory you've already read in the string and then afterwards you do the parse. But I'm not sure it's helpful to split hairs like that.
2025-08-04 09:25:44 +0200 <euouae> I don't see the pedantry, I have M4 input and I need to read a token, act on it, read a token, act on it, etc
2025-08-04 09:25:59 +0200 <euouae> I can't actually convert the stream to a list of tokens -- the action modifies the stream
2025-08-04 09:26:48 +0200 <euouae> the "read token" phase depends on the parser state; the "act on token" phrase sets the parser state and stream, and so on.
2025-08-04 09:26:55 +0200 <jreicher> You mean when you act on the token you push the result back onto the stream?
2025-08-04 09:27:08 +0200 <euouae> That is one thing that can happen, there's more
2025-08-04 09:27:49 +0200 <euouae> M4 has include() to prepend files in the stream, it has m4wrap() to redirect output to different slots, etc
2025-08-04 09:28:26 +0200 <euouae> But to keep it simple, the example I gave above suffices: define(foo, ba) define(bar, 42) foo()r() ~~> 42
2025-08-04 09:28:27 +0200 <jreicher> Yeah that sounds like execution of directives rather than just parsing
2025-08-04 09:28:38 +0200 <euouae> But what does it matter what they're called?
2025-08-04 09:29:06 +0200ft(~ft@mue-88-130-105-177.dsl.tropolys.de) ft
2025-08-04 09:29:33 +0200 <euouae> You're just reframing it. I said parser with state, you're saying parsing and evaluation, it doesn't matter. How does any of this get me closer to actually implementing it?
2025-08-04 09:29:33 +0200 <jreicher> Honestly, it might not, but considering the channel we're in I'll say that some people (myself included) believe that it's helpful to separate these things in the mind and also in the code.
2025-08-04 09:29:51 +0200trickard_trickard
2025-08-04 09:30:06 +0200 <jreicher> Because you can keep your parser logic out of your macro evaluation machine, possibly simplifying both
2025-08-04 09:30:45 +0200 <euouae> You can't, because the parser depends on the state
2025-08-04 09:31:01 +0200 <euouae> there's changecom() and changequote() for example, changing the syntax of strings and comments
2025-08-04 09:32:03 +0200 <jreicher> That's why I was asking if you push back on to the stream. I'm wondering if it makes sense to treat the "state change" wrought by some of these macro evaluations as a feeding the result into a brand new parse.
2025-08-04 09:32:17 +0200 <euouae> Ultimately, because I have to go, if you have something in mind to suggest, like a library, I'll take your suggestion and look into it. Otherwise, I'll give megaparsec with getInput and setInput a go, and if that does not work, I'll use Attoparsec or other.
2025-08-04 09:32:34 +0200 <euouae> Yes, you push back on to the stream
2025-08-04 09:32:57 +0200 <Leary> I think the lesson here is: let's not apply common sense to pathological languages.
2025-08-04 09:33:02 +0200 <jreicher> Then I would suggest you do a parse to get the first action, perform the action to produce a new string to parse, and restart
2025-08-04 09:33:26 +0200 <euouae> That's the plan indeed
2025-08-04 09:37:09 +0200werneta(~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 276 seconds)
2025-08-04 09:37:42 +0200trickard(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 09:37:56 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 09:40:18 +0200euouae(~euouae@user/euouae) ()
2025-08-04 09:40:45 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-08-04 09:41:14 +0200Fijxu(~Fijxu@user/fijxu) (Ping timeout: 260 seconds)
2025-08-04 09:46:39 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 09:48:15 +0200Fijxu(~Fijxu@user/fijxu) fijxu
2025-08-04 09:57:03 +0200kuribas(~user@ptr-17d51en0t2ys02oeif7.18120a2.ip6.access.telenet.be) kuribas
2025-08-04 09:59:06 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-04 09:59:40 +0200 <[exa]> spoiler: macrolanguages are either properly layered or a total mess
2025-08-04 10:05:28 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-08-04 10:14:44 +0200 <jreicher> They do seem to be a special case, but having had this conversation I realise I've never seen a proper treatment of them. Is there one?
2025-08-04 10:15:32 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 10:20:06 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-08-04 10:20:29 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-08-04 10:21:58 +0200caubert(~caubert@user/caubert) (Ping timeout: 240 seconds)
2025-08-04 10:22:25 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 10:24:33 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 10:24:46 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 10:27:14 +0200visilii(~visilii@85.172.77.40)
2025-08-04 10:35:58 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2025-08-04 10:37:20 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 10:44:55 +0200ubert(~Thunderbi@91.141.76.34.wireless.dyn.drei.com) ubert
2025-08-04 10:45:34 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 10:45:59 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-08-04 10:47:39 +0200mm_x_(~mm@user/mm-x-:64963) mm_x_
2025-08-04 10:50:29 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2025-08-04 10:51:16 +0200mm_x_(~mm@user/mm-x-:64963) (Client Quit)
2025-08-04 10:54:01 +0200chele(~chele@user/chele) chele
2025-08-04 10:54:45 +0200haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-08-04 10:59:47 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 11:03:42 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 11:03:56 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 11:05:13 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-08-04 11:10:21 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 11:28:53 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-08-04 11:36:38 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 245 seconds)
2025-08-04 11:43:44 +0200rvalue(~rvalue@about/hackers/rvalue) (Read error: Connection reset by peer)
2025-08-04 11:44:17 +0200rvalue(~rvalue@about/hackers/rvalue) rvalue
2025-08-04 11:47:01 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288)
2025-08-04 11:57:38 +0200infinity0(~infinity0@pwned.gg) (Quit: WeeChat 4.6.3)
2025-08-04 11:58:54 +0200Fijxu(~Fijxu@user/fijxu) (Ping timeout: 260 seconds)
2025-08-04 12:01:41 +0200infinity0(~infinity0@pwned.gg) infinity0
2025-08-04 12:06:12 +0200infinity0(~infinity0@pwned.gg) (Ping timeout: 252 seconds)
2025-08-04 12:10:57 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
2025-08-04 12:12:03 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-08-04 12:16:28 +0200jackdk(uid373013@cssa/life/jackdk) (Quit: Connection closed for inactivity)
2025-08-04 12:17:29 +0200Fijxu(~Fijxu@user/fijxu) fijxu
2025-08-04 12:18:51 +0200user363627(~user@user/user363627) (Remote host closed the connection)
2025-08-04 12:19:02 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 12:19:16 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 12:22:54 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 276 seconds)
2025-08-04 12:24:10 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 12:26:37 +0200infinity0(~infinity0@pwned.gg) infinity0
2025-08-04 12:28:28 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-08-04 12:33:18 +0200caubert(~caubert@user/caubert) (Ping timeout: 276 seconds)
2025-08-04 12:34:44 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-04 12:35:27 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 12:44:16 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 12:49:54 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Ping timeout: 248 seconds)
2025-08-04 12:50:10 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 12:50:37 +0200poscat0x04(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 12:51:06 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-04 12:53:37 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 13:04:20 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-08-04 13:07:20 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-08-04 13:07:20 +0200ljdarj1ljdarj
2025-08-04 13:08:55 +0200mange(~mange@user/mange) mange
2025-08-04 13:09:08 +0200weary-traveler(~user@user/user363627) user363627
2025-08-04 13:12:54 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 13:12:54 +0200comerijn(~merijn@77.242.116.146) merijn
2025-08-04 13:13:08 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 13:15:48 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-08-04 13:19:02 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 13:19:42 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-08-04 13:20:38 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-08-04 13:21:22 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds)
2025-08-04 13:21:46 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2025-08-04 13:21:57 +0200Lord_of_Life_Lord_of_Life
2025-08-04 13:23:19 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 13:25:03 +0200xff0x(~xff0x@2405:6580:b080:900:f328:2009:940a:c483)
2025-08-04 13:27:49 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288)
2025-08-04 13:33:22 +0200caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2025-08-04 13:43:13 +0200fizbin(~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5)
2025-08-04 13:45:10 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 13:50:18 +0200fizbin(~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5) (Read error: Connection reset by peer)
2025-08-04 13:55:07 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-08-04 13:56:26 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-08-04 13:59:03 +0200euouae(~euouae@user/euouae) euouae
2025-08-04 14:00:29 +0200 <euouae> Hello, I'm looking at these docs: <https://hackage.haskell.org/package/attoparsec-0.14.4/docs/Data-Attoparsec-Text-Lazy.html> the link for "Text" at "This is essentially the same code as in the Text module," is "broken"
2025-08-04 14:00:50 +0200 <euouae> e.g. it points to a page that mentions the module is deprecated; although <https://hackage.haskell.org/package/attoparsec-0.14.4/docs/Data-Attoparsec-Text.html> is not deprecated. What's the reason for this broken link?
2025-08-04 14:01:05 +0200 <euouae> I wanted to send a patch for it, but to be honest, I have no idea why Haddock is doing this.
2025-08-04 14:02:55 +0200comerijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2025-08-04 14:04:08 +0200 <Leary> Looks like a markup error; they should have use double quotes.
2025-08-04 14:04:27 +0200 <Leary> used*
2025-08-04 14:05:36 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 276 seconds)
2025-08-04 14:06:06 +0200 <Leary> Single quotes link to identifiers not modules, so 'Data.Attoparsec.Text' links to a `Text` constructor in the `Data.Attoparsec` module.
2025-08-04 14:07:07 +0200trickard_trickard
2025-08-04 14:08:39 +0200 <euouae> They should've done "Data..."?
2025-08-04 14:08:44 +0200 <Leary> Yes.
2025-08-04 14:08:46 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 276 seconds)
2025-08-04 14:08:49 +0200 <euouae> thanks!
2025-08-04 14:09:57 +0200Vajb(~Vajb@n5hoc7dol3omjl5lroe-1.v6.elisa-mobile.fi) (Ping timeout: 248 seconds)
2025-08-04 14:14:32 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 14:19:20 +0200trickard(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 14:19:34 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 14:19:54 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2025-08-04 14:24:15 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-04 14:26:06 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288)
2025-08-04 14:26:27 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 14:29:06 +0200ringo_(~ringo@157.230.117.128) (Ping timeout: 252 seconds)
2025-08-04 14:29:25 +0200ringo_(~ringo@157.230.117.128) ringo_
2025-08-04 14:32:13 +0200Fijxu(~Fijxu@user/fijxu) (Quit: XD!!)
2025-08-04 14:32:19 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-08-04 14:32:33 +0200Fijxu(~Fijxu@user/fijxu) fijxu
2025-08-04 14:32:33 +0200mange(~mange@user/mange) (Quit: Zzz...)
2025-08-04 14:33:10 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 14:35:48 +0200m1dnight_(~m1dnight@109.236.63.204) (Ping timeout: 245 seconds)
2025-08-04 14:44:21 +0200m1dnight_(~m1dnight@d8D861A17.access.telenet.be) m1dnight
2025-08-04 14:44:32 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-04 14:49:23 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 14:49:36 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 14:50:26 +0200m1dnight_(~m1dnight@d8D861A17.access.telenet.be) (Ping timeout: 248 seconds)
2025-08-04 14:52:41 +0200m1dnight_(~m1dnight@109.236.62.22) m1dnight
2025-08-04 15:05:22 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Ping timeout: 248 seconds)
2025-08-04 15:05:49 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 15:10:26 +0200haritz(~hrtz@209.35.65.79)
2025-08-04 15:10:26 +0200haritz(~hrtz@209.35.65.79) (Changing host)
2025-08-04 15:10:26 +0200haritz(~hrtz@user/haritz) haritz
2025-08-04 15:19:05 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 15:19:19 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 15:24:14 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
2025-08-04 15:29:56 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 15:38:37 +0200jespada_(~jespada@2800:a4:2260:8800:fd98:a705:2c86:49c) jespada
2025-08-04 15:41:27 +0200__monty__(~toonn@user/toonn) toonn
2025-08-04 15:42:19 +0200jespada(~jespada@2800:a4:2260:8800:384b:5038:f5a7:35ca) (Ping timeout: 260 seconds)
2025-08-04 15:46:06 +0200jespada(~jespada@2800:a4:2349:e700:8cdf:6b:c880:e6a) jespada
2025-08-04 15:47:24 +0200jespada_(~jespada@2800:a4:2260:8800:fd98:a705:2c86:49c) (Ping timeout: 265 seconds)
2025-08-04 15:56:01 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds)
2025-08-04 15:59:22 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 15:59:35 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 16:04:48 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds)
2025-08-04 16:05:43 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 16:06:15 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 16:07:10 +0200bionade24(~quassel@server2.oscloud.info) (Read error: Connection reset by peer)
2025-08-04 16:07:27 +0200bionade24(~quassel@server2.oscloud.info) bionade24
2025-08-04 16:08:14 +0200__monty__(~toonn@user/toonn) (Read error: Connection reset by peer)
2025-08-04 16:09:32 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 16:09:45 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 16:10:02 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-08-04 16:13:40 +0200__monty__(~toonn@user/toonn) toonn
2025-08-04 16:20:26 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) ezzieyguywuf
2025-08-04 16:21:04 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 16:21:17 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 16:22:27 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 16:22:49 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 16:23:17 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 16:23:32 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 16:25:21 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 16:25:48 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 16:31:44 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-04 16:50:10 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-08-04 16:51:22 +0200AlexNoo_(~AlexNoo@94.233.241.158)
2025-08-04 16:53:11 +0200poscat(~poscat@user/poscat) poscat
2025-08-04 16:55:14 +0200AlexZenon(~alzenon@178.34.163.39) (Ping timeout: 260 seconds)
2025-08-04 16:55:24 +0200AlexNoo(~AlexNoo@178.34.163.39) (Ping timeout: 260 seconds)
2025-08-04 16:55:51 +0200sp1ff``(~user@c-24-21-190-184.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
2025-08-04 16:56:40 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-08-04 16:57:06 +0200caubert(~caubert@user/caubert) (Ping timeout: 272 seconds)
2025-08-04 16:57:50 +0200sp1ff``(~user@c-24-21-190-184.hsd1.wa.comcast.net)
2025-08-04 16:58:19 +0200pavonia(~user@user/siracusa) (Ping timeout: 260 seconds)
2025-08-04 17:01:07 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 17:04:30 +0200trickard_trickard
2025-08-04 17:05:10 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288)
2025-08-04 17:14:33 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-08-04 17:17:45 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-08-04 17:20:10 +0200AlexZenon(~alzenon@94.233.241.158)
2025-08-04 17:25:07 +0200amadaluzia(~amadaluzi@user/amadaluzia) amadaluzia
2025-08-04 17:35:39 +0200digitteknohippie(~user@user/digit) (Ping timeout: 252 seconds)
2025-08-04 17:35:44 +0200Digit(~user@user/digit) (Ping timeout: 272 seconds)
2025-08-04 17:36:24 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-04 17:39:22 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 276 seconds)
2025-08-04 17:41:15 +0200weary-traveler(~user@user/user363627) user363627
2025-08-04 17:45:14 +0200AlexZenon(~alzenon@94.233.241.158) (Ping timeout: 272 seconds)
2025-08-04 17:45:51 +0200poscat(~poscat@user/poscat) (Read error: Connection reset by peer)
2025-08-04 17:45:56 +0200poscat0x04(~poscat@user/poscat) poscat
2025-08-04 17:53:21 +0200Guest22(~textual@71.212.133.94)
2025-08-04 18:00:32 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
2025-08-04 18:00:55 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-04 18:05:39 +0200jbalint(~jbalint@syn-071-090-116-115.res.spectrum.com)
2025-08-04 18:05:48 +0200AlexZenon(~alzenon@94.233.241.158)
2025-08-04 18:08:35 +0200jbalint(~jbalint@syn-071-090-116-115.res.spectrum.com) (Client Quit)
2025-08-04 18:08:47 +0200jbalint(~jbalint@2600:6c44:117f:e98a:40bb:52ad:62b8:5122)
2025-08-04 18:10:26 +0200AlexNoo_AlexNoo
2025-08-04 18:21:54 +0200ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-08-04 18:22:15 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2025-08-04 18:23:33 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
2025-08-04 18:25:04 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-08-04 18:27:45 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-08-04 18:31:43 +0200SheEldritchShe
2025-08-04 18:40:53 +0200jbalint(~jbalint@2600:6c44:117f:e98a:40bb:52ad:62b8:5122) (Ping timeout: 248 seconds)
2025-08-04 18:41:38 +0200EldritchSheShe
2025-08-04 18:41:51 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
2025-08-04 18:50:51 +0200jbalint(~jbalint@syn-071-090-116-115.res.spectrum.com)
2025-08-04 18:51:19 +0200caubert(~caubert@user/caubert) (Ping timeout: 260 seconds)
2025-08-04 18:57:07 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 19:00:41 +0200fizbin(~fizbin@user/fizbin) fizbin
2025-08-04 19:02:05 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-04 19:03:52 +0200caubert(~caubert@user/caubert) (Ping timeout: 276 seconds)
2025-08-04 19:06:00 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-08-04 19:06:14 +0200chele(~chele@user/chele) (Remote host closed the connection)
2025-08-04 19:07:24 +0200Igloo(~ian@81.2.99.210) (Ping timeout: 252 seconds)
2025-08-04 19:07:40 +0200Igloo(~ian@81.2.99.210) Igfoo
2025-08-04 19:08:03 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288)
2025-08-04 19:09:03 +0200fgarcia_(~lei@user/fgarcia) fgarcia
2025-08-04 19:09:29 +0200fgarcia(~lei@user/fgarcia) (Ping timeout: 240 seconds)
2025-08-04 19:10:13 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds)
2025-08-04 19:16:03 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 19:20:19 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-04 19:21:58 +0200caubert(~caubert@user/caubert) (Ping timeout: 240 seconds)
2025-08-04 19:25:26 +0200euphores(~SASL_euph@user/euphores) euphores
2025-08-04 19:29:11 +0200euouae(~euouae@user/euouae) (Read error: Connection reset by peer)
2025-08-04 19:36:39 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
2025-08-04 19:40:58 +0200kuribas(~user@ptr-17d51en0t2ys02oeif7.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2025-08-04 19:42:32 +0200Digit(~user@user/digit) Digit
2025-08-04 19:45:14 +0200fizbin(~fizbin@user/fizbin) (Read error: Connection reset by peer)
2025-08-04 19:46:06 +0200fgarcia_fgarcia
2025-08-04 19:51:19 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-04 19:52:54 +0200visilii_(~visilii@188.254.110.187)
2025-08-04 19:56:20 +0200visilii(~visilii@85.172.77.40) (Ping timeout: 272 seconds)
2025-08-04 19:57:36 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-04 19:59:07 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 20:02:06 +0200target_i(~target_i@user/target-i/x-6023099) target_i
2025-08-04 20:10:54 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
2025-08-04 20:11:43 +0200trickard(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 20:11:57 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 20:12:48 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-04 20:14:41 +0200tromp(~textual@2001:1c00:3487:1b00:9931:a689:a59b:4288)
2025-08-04 20:18:52 +0200merijn(~merijn@77.242.116.146) merijn
2025-08-04 20:25:21 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-08-04 20:26:45 +0200ubert(~Thunderbi@91.141.76.34.wireless.dyn.drei.com) (Remote host closed the connection)
2025-08-04 20:29:28 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-08-04 20:32:40 +0200sprotte24(~sprotte24@p200300d16f200c0050753b554e57af5c.dip0.t-ipconnect.de)
2025-08-04 20:33:14 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-08-04 20:35:42 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2025-08-04 20:49:41 +0200caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2025-08-04 20:52:36 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2025-08-04 20:53:28 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
2025-08-04 21:00:01 +0200caconym747(~caconym@user/caconym) (Quit: bye)
2025-08-04 21:00:41 +0200caconym747(~caconym@user/caconym) caconym
2025-08-04 21:02:28 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 21:08:20 +0200pavonia(~user@user/siracusa) siracusa
2025-08-04 21:13:09 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2025-08-04 21:26:29 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds)
2025-08-04 21:27:27 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-08-04 21:41:39 +0200caubert(~caubert@user/caubert) (Ping timeout: 260 seconds)
2025-08-04 21:53:43 +0200krei-se-(~krei-se@p200300f1cf3e05010000000000009569.dip0.t-ipconnect.de) krei-se
2025-08-04 21:54:14 +0200krei-se(~krei-se@p3ee0f67c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-08-04 21:54:16 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 21:57:35 +0200driib318(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2025-08-04 22:06:48 +0200biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2025-08-04 22:06:51 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-08-04 22:07:11 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-04 22:07:29 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-04 22:08:17 +0200caubert(~caubert@user/caubert) (Ping timeout: 248 seconds)
2025-08-04 22:10:50 +0200driib318(~driib@vmi931078.contaboserver.net) driib
2025-08-04 22:12:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 22:12:35 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
2025-08-04 22:15:48 +0200phma(phma@2001:5b0:211f:9718:c681:cfad:1132:e02) (Read error: Connection reset by peer)
2025-08-04 22:16:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-04 22:18:29 +0200phma(~phma@host-67-44-208-27.hnremote.net)
2025-08-04 22:25:04 +0200caubert(~caubert@user/caubert) caubert
2025-08-04 22:26:31 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-04 22:29:33 +0200caubert(~caubert@user/caubert) (Ping timeout: 245 seconds)
2025-08-04 22:30:53 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-04 22:40:14 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)