Logs: liberachat/#haskell
| 2025-10-04 07:51:53 | → | trickard_ joins (~trickard@cpe-49-98-47-163.wireline.com.au) |
| 2025-10-04 07:53:04 | → | Tuplanolla joins (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) |
| 2025-10-04 07:56:44 | → | superbil joins (~superbil@114-32-231-70.hinet-ip.hinet.net) |
| 2025-10-04 07:56:52 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2025-10-04 07:57:21 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 2025-10-04 07:59:43 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 240 seconds) |
| 2025-10-04 08:01:46 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 08:02:18 | <bwe> | Parsing comma separated list with parentheses carrying another comma separated list, false-positive edge-case: comma as decimal separator: https://paste.tomsmeding.com/6fFqE1kR -- how to make the second doctest pass? I am afraid, I need to move away from fold as it sees only a single character :(. Which approach does your intuition tells you fits this case? |
| 2025-10-04 08:04:22 | × | eggplantade quits (~eggplanta@2600:1702:8450:c370:690c:d410:5426:3ca8) (Ping timeout: 256 seconds) |
| 2025-10-04 08:04:49 | × | gcvvcxvhf quits (~gcvvcxvhf@103.183.205.165) (Ping timeout: 250 seconds) |
| 2025-10-04 08:05:01 | → | gcvvcxvhf joins (~gcvvcxvhf@152.58.42.143) |
| 2025-10-04 08:05:44 | × | superbil quits (~superbil@114-32-231-70.hinet-ip.hinet.net) (Quit: WeeChat 4.7.1) |
| 2025-10-04 08:06:08 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-10-04 08:12:01 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds) |
| 2025-10-04 08:13:13 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-10-04 08:17:07 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 08:17:15 | → | eggplantade joins (~eggplanta@2600:1702:8450:c370:690c:d410:5426:3ca8) |
| 2025-10-04 08:19:34 | → | acidjnk joins (~acidjnk@p200300d6e7171959ac9a50397945f9ef.dip0.t-ipconnect.de) |
| 2025-10-04 08:23:12 | × | gcvvcxvhf quits (~gcvvcxvhf@152.58.42.143) (Remote host closed the connection) |
| 2025-10-04 08:24:01 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-10-04 08:27:07 | → | killy joins (~killy@193.142.201.125) |
| 2025-10-04 08:27:58 | <Leary> | bwe: Parser combinators? |
| 2025-10-04 08:30:25 | → | gcvvcxvhf joins (~gcvvcxvhf@103.183.205.165) |
| 2025-10-04 08:31:23 | trickard_ | is now known as trickard |
| 2025-10-04 08:33:41 | → | Inline joins (~Inline@2a02:8071:57a1:1260:a43a:5dc1:57c7:b6ca) |
| 2025-10-04 08:33:57 | × | Inline quits (~Inline@2a02:8071:57a1:1260:a43a:5dc1:57c7:b6ca) (Remote host closed the connection) |
| 2025-10-04 08:34:34 | → | Inline joins (~Inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) |
| 2025-10-04 08:35:12 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 08:39:19 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-10-04 08:45:14 | × | eggplantade quits (~eggplanta@2600:1702:8450:c370:690c:d410:5426:3ca8) (Ping timeout: 248 seconds) |
| 2025-10-04 08:47:22 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 08:48:34 | × | rvalue quits (~rvalue@about/hackers/rvalue) (Read error: Connection reset by peer) |
| 2025-10-04 08:49:04 | × | Inline quits (~Inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 2025-10-04 08:49:20 | × | olivial quits (~benjaminl@user/benjaminl) (Ping timeout: 240 seconds) |
| 2025-10-04 08:50:06 | → | olivial joins (~benjaminl@user/benjaminl) |
| 2025-10-04 08:50:36 | → | Inline joins (~Inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) |
| 2025-10-04 08:50:39 | → | rvalue joins (~rvalue@about/hackers/rvalue) |
| 2025-10-04 08:51:33 | × | Inline quits (~Inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) (Remote host closed the connection) |
| 2025-10-04 08:51:43 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-10-04 08:52:32 | × | Square quits (~Square@user/square) (Ping timeout: 240 seconds) |
| 2025-10-04 08:52:56 | × | killy quits (~killy@193.142.201.125) (Ping timeout: 240 seconds) |
| 2025-10-04 08:53:25 | → | Inline joins (~Inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) |
| 2025-10-04 08:54:00 | → | dostoevsky joins (~dostoevsk@user/dostoevsky) |
| 2025-10-04 08:54:14 | → | fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi) |
| 2025-10-04 08:55:05 | → | killy joins (~killy@terminal-3-187.retsat1.com.pl) |
| 2025-10-04 08:56:36 | × | trickard quits (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-10-04 08:56:49 | → | trickard_ joins (~trickard@cpe-49-98-47-163.wireline.com.au) |
| 2025-10-04 08:57:27 | → | eggplantade joins (~eggplanta@2600:1702:8450:c370:690c:d410:5426:3ca8) |
| 2025-10-04 09:00:14 | → | n0den1te joins (~aaaa@2402:3a80:455:9de7:ad9f:5d52:168:fc4b) |
| 2025-10-04 09:01:36 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 2025-10-04 09:02:21 | × | n0den1te quits (~aaaa@2402:3a80:455:9de7:ad9f:5d52:168:fc4b) (Client Quit) |
| 2025-10-04 09:02:44 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 09:03:00 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 2025-10-04 09:03:18 | → | gmg joins (~user@user/gehmehgeh) |
| 2025-10-04 09:04:24 | × | eggplantade quits (~eggplanta@2600:1702:8450:c370:690c:d410:5426:3ca8) (Ping timeout: 260 seconds) |
| 2025-10-04 09:05:48 | × | tromp quits (~textual@2001:1c00:3487:1b00:79b7:f1d9:214a:8b71) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-10-04 09:07:13 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-10-04 09:14:52 | × | Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed) |
| 2025-10-04 09:15:41 | → | AlexNoo_ joins (~AlexNoo@85.174.181.143) |
| 2025-10-04 09:16:47 | → | eggplantade joins (~eggplanta@2600:1702:8450:c370:690c:d410:5426:3ca8) |
| 2025-10-04 09:18:01 | × | AlexZenon quits (~alzenon@85.174.181.199) (Ping timeout: 264 seconds) |
| 2025-10-04 09:18:07 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 09:19:20 | × | AlexNoo quits (~AlexNoo@85.174.181.199) (Ping timeout: 244 seconds) |
| 2025-10-04 09:21:55 | × | eggplantade quits (~eggplanta@2600:1702:8450:c370:690c:d410:5426:3ca8) (Ping timeout: 244 seconds) |
| 2025-10-04 09:22:25 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-10-04 09:26:07 | → | AlexZenon joins (~alzenon@85.174.181.143) |
| 2025-10-04 09:26:33 | trickard_ | is now known as trickard |
| 2025-10-04 09:27:10 | → | poscat0x04 joins (~poscat@user/poscat) |
| 2025-10-04 09:29:05 | ← | gcvvcxvhf parts (~gcvvcxvhf@103.183.205.165) () |
| 2025-10-04 09:29:19 | × | poscat quits (~poscat@user/poscat) (Ping timeout: 265 seconds) |
| 2025-10-04 09:30:37 | × | killy quits (~killy@terminal-3-187.retsat1.com.pl) (Ping timeout: 264 seconds) |
| 2025-10-04 09:32:45 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2025-10-04 09:33:17 | → | eggplantade joins (~eggplanta@2600:1702:8450:c370:690c:d410:5426:3ca8) |
| 2025-10-04 09:33:31 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 09:34:04 | → | img joins (~img@user/img) |
| 2025-10-04 09:37:43 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-10-04 09:37:56 | <tomsmeding> | yeah, either parser combinators, or iterative parsing: first recognise all numbers, then iteratively (if nesting is allowed) recognise all parenthesised blocks, then split on commas |
| 2025-10-04 09:38:28 | <tomsmeding> | the iterative parsing approach feels simpler because it's more low-tech but it's also quite fragile with changes to the grammar, and it only works here because this grammar is simple enough |
| 2025-10-04 09:38:53 | <tomsmeding> | you can also hand-code a state machine with your fold |
| 2025-10-04 09:39:12 | <tomsmeding> | you already have a little state machine with the parenOpen state; you can have a separate boolean for "currently inside a number" |
| 2025-10-04 09:39:23 | <tomsmeding> | but at that point, either formulate it really as a state machine, or use parser combinators |
| 2025-10-04 09:39:36 | <tomsmeding> | bwe: ^ |
| 2025-10-04 09:42:54 | → | tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 2025-10-04 09:43:16 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer) |
| 2025-10-04 09:43:48 | → | internatetional joins (~nate@2001:448a:20a3:c2e5:79f0:9089:b3a0:c5ae) |
| 2025-10-04 09:48:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 09:50:45 | × | GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 245 seconds) |
| 2025-10-04 09:51:01 | × | ystael_ quits (~ystael@user/ystael) (Ping timeout: 264 seconds) |
| 2025-10-04 09:54:02 | <jreicher> | parenOpen is state even if the evaluation order is not defined? |
| 2025-10-04 09:55:26 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-10-04 09:57:44 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-10-04 10:01:45 | × | tcard_ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer) |
| 2025-10-04 10:01:54 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 2025-10-04 10:06:25 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-04 10:07:47 | → | internatetional_ joins (~nate@2404:c0:2140::1be:7443) |
| 2025-10-04 10:08:25 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-10-04 10:09:36 | × | internatetional quits (~nate@2001:448a:20a3:c2e5:79f0:9089:b3a0:c5ae) (Ping timeout: 256 seconds) |
| 2025-10-04 10:09:51 | × | trickard quits (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-10-04 10:10:04 | → | trickard_ joins (~trickard@cpe-49-98-47-163.wireline.com.au) |
| 2025-10-04 10:10:13 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
All times are in UTC.