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