2025-08-04 00:00:53 +0200 | merijn | (~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 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Remote host closed the connection) |
2025-08-04 00:11:49 +0200 | merijn | (~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 +0200 | merijn | (~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 +0200 | tromp | (~textual@2001:1c00:3487:1b00:1c21:f6c3:9146:cddf) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-08-04 00:27:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 00:28:20 +0200 | delyan_ | (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 +0200 | caubert | (~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 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2025-08-04 00:31:12 +0200 | <yin> | great timing, lambdabot |
2025-08-04 00:31:37 +0200 | merijn | (~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 +0200 | fizbin | (~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5) |
2025-08-04 00:35:21 +0200 | fizbin | (~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5) (Changing host) |
2025-08-04 00:35:21 +0200 | fizbin | (~fizbin@user/fizbin) fizbin |
2025-08-04 00:36:14 +0200 | user363627 | (~user@user/user363627) user363627 |
2025-08-04 00:39:36 +0200 | weary-traveler | (~user@user/user363627) (Ping timeout: 276 seconds) |
2025-08-04 00:42:36 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 00:44:05 +0200 | fizbin | (~fizbin@user/fizbin) (Read error: Connection reset by peer) |
2025-08-04 00:47:26 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-08-04 00:57:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 00:59:35 +0200 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod |
2025-08-04 01:03:30 +0200 | sprotte24 | (~sprotte24@p200300d16f12c90091062a35ec430294.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-08-04 01:03:54 +0200 | sprotte24 | (~sprotte24@p200300d16f12c90091062a35ec430294.dip0.t-ipconnect.de) |
2025-08-04 01:04:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-08-04 01:09:54 +0200 | sprotte24 | (~sprotte24@p200300d16f12c90091062a35ec430294.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-08-04 01:15:57 +0200 | Spawns | (~mobile@user/spawns-carpeting/x-6969421) Spawns_Carpeting |
2025-08-04 01:16:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 01:17:22 +0200 | jreicher | (~user@user/jreicher) (Quit: brb) |
2025-08-04 01:17:55 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-08-04 01:19:26 +0200 | jreicher | (~user@user/jreicher) (Read error: Connection reset by peer) |
2025-08-04 01:20:09 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-08-04 01:20:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-08-04 01:29:24 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2025-08-04 01:31:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 01:32:15 +0200 | jbalint | (~jbalint@2600:6c44:117f:e98a:40bb:52ad:62b8:5122) |
2025-08-04 01:33:28 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
2025-08-04 01:33:29 +0200 | ljdarj1 | ljdarj |
2025-08-04 01:35:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-08-04 01:37:00 +0200 | jbalint | (~jbalint@2600:6c44:117f:e98a:40bb:52ad:62b8:5122) (Ping timeout: 252 seconds) |
2025-08-04 01:39:46 +0200 | Lycurgus | (~juan@user/Lycurgus) (Read error: Connection reset by peer) |
2025-08-04 01:41:50 +0200 | trickard | (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-08-04 01:42:04 +0200 | trickard | (~trickard@cpe-56-98-47-163.wireline.com.au) |
2025-08-04 01:46:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 01:48:47 +0200 | trickard | (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-08-04 01:51:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-08-04 01:52:54 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) |
2025-08-04 02:01:34 +0200 | euphores | (~SASL_euph@user/euphores) (Ping timeout: 260 seconds) |
2025-08-04 02:02:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 02:03:11 +0200 | tdscg^ | (~tdscg@99-73-20-238.lightspeed.tukrga.sbcglobal.net) |
2025-08-04 02:04:30 +0200 | trickard_ | trickard |
2025-08-04 02:06:03 +0200 | fizbin | (~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5) |
2025-08-04 02:06:41 +0200 | fizbin | (~fizbin@2601:84:8601:2604:65a2:2790:1327:34c5) (Read error: Connection reset by peer) |
2025-08-04 02:07:16 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-08-04 02:07:24 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-08-04 02:11:39 +0200 | acidjnk | (~acidjnk@p200300d6e71719149d1d473a745282b7.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2025-08-04 02:17:32 +0200 | merijn | (~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 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
2025-08-04 02:22:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-08-04 02:26:12 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 276 seconds) |
2025-08-04 02:33:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 02:37:04 +0200 | Spawns | (~mobile@user/spawns-carpeting/x-6969421) (Quit: ZNC 1.9.1 - https://znc.in) |
2025-08-04 02:38:58 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-08-04 02:40:04 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-08-04 02:42:55 +0200 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
2025-08-04 02:51:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 02:55:29 +0200 | Spawns_Carpeting | (~mobile@user/spawns-carpeting/x-6969421) Spawns_Carpeting |
2025-08-04 02:55:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-08-04 02:58:16 +0200 | ttybitnik | (~ttybitnik@user/wolper) (Quit: Fading out...) |
2025-08-04 03:01:15 +0200 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
2025-08-04 03:06:26 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 03:10:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-08-04 03:11:07 +0200 | tdscg^ | (~tdscg@99-73-20-238.lightspeed.tukrga.sbcglobal.net) (Ping timeout: 252 seconds) |
2025-08-04 03:14:40 +0200 | jackdk | (uid373013@cssa/life/jackdk) jackdk |
2025-08-04 03:15:38 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-08-04 03:21:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 03:26:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-08-04 03:28:30 +0200 | trickard | (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-08-04 03:28:44 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) |
2025-08-04 03:32:30 +0200 | xff0x | (~xff0x@2405:6580:b080:900:962e:1741:aa8f:27af) (Ping timeout: 252 seconds) |
2025-08-04 03:33:05 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Quit: WeeChat 4.7.0) |
2025-08-04 03:36:14 +0200 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
2025-08-04 03:37:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 03:38:16 +0200 | jespada | (~jespada@2800:a4:2303:d900:b08d:81d0:3400:c094) (Ping timeout: 276 seconds) |
2025-08-04 03:40:17 +0200 | jespada | (~jespada@2800:a4:2260:8800:384b:5038:f5a7:35ca) jespada |
2025-08-04 03:41:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-08-04 03:42:49 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org)) |
2025-08-04 03:43:54 +0200 | tdscg^ | (~tdscg@99-73-20-238.lightspeed.tukrga.sbcglobal.net) |
2025-08-04 03:52:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 03:57:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-08-04 04:01:18 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-08-04 04:01:32 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) |
2025-08-04 04:06:13 +0200 | polykernel | (~polykerne@user/polykernel) (Remote host closed the connection) |
2025-08-04 04:07:16 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-08-04 04:08:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 04:09:06 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-08-04 04:09:58 +0200 | polykernel | (~polykerne@user/polykernel) polykernel |
2025-08-04 04:12:25 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) |
2025-08-04 04:14:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-08-04 04:17:39 +0200 | phma_ | (phma@2001:5b0:211f:9718:c681:cfad:1132:e02) |
2025-08-04 04:18:06 +0200 | phma | (~phma@host-67-44-208-38.hnremote.net) (Read error: Connection reset by peer) |
2025-08-04 04:22:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 04:27:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-08-04 04:30:13 +0200 | arahael | (~arahael@user/arahael) (Ping timeout: 248 seconds) |
2025-08-04 04:38:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 04:42:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-08-04 04:48:43 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds) |
2025-08-04 04:53:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 04:57:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-08-04 05:00:21 +0200 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
2025-08-04 05:02:56 +0200 | Lycurgus | (~juan@user/Lycurgus) (Client Quit) |
2025-08-04 05:06:16 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-08-04 05:08:55 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) |
2025-08-04 05:09:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 05:13:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-08-04 05:18:12 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-08-04 05:19:25 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) |
2025-08-04 05:22:45 +0200 | aforemny_ | (~aforemny@i59F4C627.versanet.de) aforemny |
2025-08-04 05:23:33 +0200 | aforemny | (~aforemny@2001:9e8:6cdf:a900:21ae:b2:f02b:ad36) (Ping timeout: 248 seconds) |
2025-08-04 05:24:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 05:26:08 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-08-04 05:28:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-08-04 05:31:17 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.10.1 - https://znc.in) |
2025-08-04 05:39:47 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 05:43:40 +0200 | jmorris | (uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2025-08-04 05:44:48 +0200 | polykernel | (~polykerne@user/polykernel) (Remote host closed the connection) |
2025-08-04 05:45:29 +0200 | polykernel | (~polykerne@user/polykernel) polykernel |
2025-08-04 05:47:02 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-08-04 05:55:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 05:59:47 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-08-04 06:10:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 06:15:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-08-04 06:23:51 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 06:28:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-08-04 06:39:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 06:41:25 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 248 seconds) |
2025-08-04 06:43:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-08-04 06:48:27 +0200 | phma_ | phma |
2025-08-04 06:53:20 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 252 seconds) |
2025-08-04 06:54:38 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 06:56:22 +0200 | michalz | (~michalz@185.246.207.197) |
2025-08-04 06:58:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-08-04 07:03:08 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-08-04 07:05:49 +0200 | euouae | (~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 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 07:11:10 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-08-04 07:14:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-08-04 07:17:09 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 248 seconds) |
2025-08-04 07:23:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 07:23:56 +0200 | poscat0x04 | (~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 +0200 | poscat | (~poscat@user/poscat) (Ping timeout: 248 seconds) |
2025-08-04 07:28:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-08-04 07:31:07 +0200 | caubert | (~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 +0200 | euouae | will 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 +0200 | merijn | (~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 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-08-04 07:46:18 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) HarveyPwca |
2025-08-04 07:55:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 08:00:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-08-04 08:00:15 +0200 | trickard_ | (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-08-04 08:00:28 +0200 | trickard_ | (~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 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-08-04 08:03:42 +0200 | biberu | (~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 +0200 | poscat0x04 | (~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 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-08-04 08:10:44 +0200 | <euouae> | lambda calculus doesn't have state |
2025-08-04 08:10:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-08-04 08:12:49 +0200 | Frostillicus | (~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 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-08-04 08:17:40 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds) |
2025-08-04 08:25:51 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |