Newest at the top
| 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 |
| 2026-02-08 23:49:04 +0100 | <haskellbridge> | <sm> "darcs likes to corrupt repositories" ? I wouldn't say that |
| 2026-02-08 23:47:00 +0100 | Putonlalla | (~Putonlall@it-cyan.it.jyu.fi) Tuplanolla |
| 2026-02-08 23:46:55 +0100 | <EvanR> | or parser (potentially) just returns the IO action that would eventually be run instead |
| 2026-02-08 23:46:36 +0100 | <EvanR> | which one sucks less: parser (potentially) returns a Command, then a big case dispatches Command to run the specific command IO code |
| 2026-02-08 23:44:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-02-08 23:44:22 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2026-02-08 23:43:50 +0100 | emmanuelux | (~em@user/emmanuelux) emmanuelux |
| 2026-02-08 23:40:29 +0100 | emmanuelux | (~em@user/emmanuelux) (Read error: Connection reset by peer) |
| 2026-02-08 23:40:09 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-02-08 23:37:15 +0100 | ThePenguin | (~ThePengui@cust-95-80-28-221.csbnet.se) ThePenguin |
| 2026-02-08 23:36:29 +0100 | ThePenguin | (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection) |
| 2026-02-08 23:36:05 +0100 | ThePenguin | (~ThePengui@cust-95-80-28-221.csbnet.se) ThePenguin |
| 2026-02-08 23:36:00 +0100 | emmanuelux | (~em@user/emmanuelux) emmanuelux |
| 2026-02-08 23:35:54 +0100 | Putonlalla | (~Putonlall@it-cyan.it.jyu.fi) (Ping timeout: 252 seconds) |
| 2026-02-08 23:35:28 +0100 | <EvanR> | was darcs using acid-state |
| 2026-02-08 23:35:05 +0100 | ThePenguin | (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection) |
| 2026-02-08 23:32:46 +0100 | emmanuelux | (~em@user/emmanuelux) (Read error: Connection reset by peer) |
| 2026-02-08 23:31:45 +0100 | ThePenguin | (~ThePengui@cust-95-80-28-221.csbnet.se) ThePenguin |
| 2026-02-08 23:29:38 +0100 | <yin> | geekosaur: great, thanks! |
| 2026-02-08 23:29:16 +0100 | <geekosaur> | fwiw #darcs is a thing (and you can ask in there if you have issues) (also bridged to #darcs:matrix.org) |
| 2026-02-08 23:28:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-02-08 23:28:07 +0100 | ThePenguin | (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection) |
| 2026-02-08 23:24:22 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-02-08 23:23:44 +0100 | emmanuelux | (~em@user/emmanuelux) emmanuelux |
| 2026-02-08 23:23:17 +0100 | <mauke> | which made no sense because I never edited (let alone committed) anything in there |
| 2026-02-08 23:22:51 +0100 | <mauke> | I had a local repo that would just pull in updates from a remote source (and act as a source for other local repositories), but after a while darcs would start complaining about unresolved conflicts in that repo |