Newest at the top
| 2026-02-09 01:20:07 +0100 | humasect_ | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-02-09 01:18:55 +0100 | trickard_ | (~trickard@cpe-61-98-47-163.wireline.com.au) |
| 2026-02-09 01:18:41 +0100 | trickard | (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2026-02-09 01:17:11 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-02-09 01:09:11 +0100 | forell | (~forell@user/forell) forell |
| 2026-02-09 01:06:18 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-02-09 01:04:14 +0100 | _JusSx_ | (~username@37.163.117.200) (Ping timeout: 244 seconds) |
| 2026-02-09 01:01:24 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-02-09 00:53:18 +0100 | oskarw | (~user@user/oskarw) (Ping timeout: 256 seconds) |
| 2026-02-09 00:50:11 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-02-09 00:47:20 +0100 | rainbyte | (~rainbyte@186.22.19.214) rainbyte |
| 2026-02-09 00:45:38 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-02-09 00:34:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-02-09 00:33:34 +0100 | <dolio> | If you're going to write multiple interpreters for one, then it might be worth it. But you want IO to be as low overhead as possible, bascially. |
| 2026-02-09 00:32:11 +0100 | <geekosaur> | tbh I've always considered that approach to be more useful conceptually than implementationally |
| 2026-02-09 00:30:49 +0100 | <dolio> | IO specifically, that is. |
| 2026-02-09 00:29:56 +0100 | <dolio> | Most likely the opposite. |
| 2026-02-09 00:29:33 +0100 | <dolio> | I'm sure there are ways to do it, but the question is why you would, when being a free monad is likely not valuable at all. |
| 2026-02-09 00:27:44 +0100 | <geekosaur> | although I can think of ways to make it work, especially given that FFI already doesn't really handle varargs |
| 2026-02-09 00:27:37 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-02-09 00:27:18 +0100 | <geekosaur> | that too, yes |
| 2026-02-09 00:26:55 +0100 | <dolio> | There's multiple problems with it. What about FFI? |
| 2026-02-09 00:24:24 +0100 | <geekosaur> | also I think it doesn't extend nicely to threads? |
| 2026-02-09 00:16:31 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-02-09 00:15:52 +0100 | twb | (~twb@user/twb) twb |
| 2026-02-09 00:13:00 +0100 | xff0x | (~xff0x@2405:6580:b080:900:94ad:d9ab:f90:90c7) |
| 2026-02-09 00:11:49 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-02-09 00:11:27 +0100 | <EvanR> | the IO system predates free monads being popularized by the blogosphere |
| 2026-02-09 00:10:47 +0100 | <ncf> | oh you mean from a design perspective |
| 2026-02-09 00:10:16 +0100 | <chromoblob> | ncf: case putStr "123" of PutStr "123" -> ... |
| 2026-02-09 00:10:14 +0100 | <mauke> | is this that "final tagless" thing |
| 2026-02-09 00:08:13 +0100 | xff0x | (~xff0x@2405:6580:b080:900:cadf:d9b9:dcb4:a899) (Quit: xff0x) |
| 2026-02-09 00:07:36 +0100 | <EvanR> | performance, and or "we didn't think of it" |
| 2026-02-09 00:07:31 +0100 | <ncf> | can't pattern match on it |
| 2026-02-09 00:07:02 +0100 | <chromoblob> | why isn't IO a free monad actually? |
| 2026-02-09 00:04:03 +0100 | <EvanR> | the original data |
| 2026-02-09 00:03:49 +0100 | <EvanR> | parse don't validate violation seems to be a different situation, where you validate something and then later run another parser on it |
| 2026-02-09 00:03:06 +0100 | tromp | (~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-02-09 00:02:48 +0100 | krei-se | (~krei-se@p200300f1cfff3e880001000000000001.dip0.t-ipconnect.de) krei-se |
| 2026-02-09 00:02:19 +0100 | <EvanR> | if the semantic value is a command to be executed... then the command data type or the command action itself could both be considered that |
| 2026-02-09 00:01:36 +0100 | <EvanR> | returning an IO action is basically free monad if you think IO is like a huge free monad |
| 2026-02-09 00:01:10 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-02-08 23:59:20 +0100 | Square2 | (~Square@user/square) Square |
| 2026-02-08 23:58:01 +0100 | Square2 | (~Square@user/square) (Remote host closed the connection) |
| 2026-02-08 23:56:04 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-02-08 23:55:16 +0100 | <geekosaur> | the first is what's usually done, in some fashion (e.g. free monad instead of a traditional ADT); also, the second could be considered a variety of the first. but also smacks of "parse, don't validate" violation to me? |
| 2026-02-08 23:52:44 +0100 | mange | (~mange@user/mange) mange |
| 2026-02-08 23:52:33 +0100 | Everything | (~Everythin@172-232-54-192.ip.linodeusercontent.com) (Quit: leaving) |
| 2026-02-08 23:50:19 +0100 | <EvanR> | 👍 |
| 2026-02-08 23:49:38 +0100 | <haskellbridge> | <sm> no, it doesn't use acid-state EvanR |