2026/02/08

Newest at the top

2026-02-09 00:11:49 +0100merijn(~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 +0100xff0x(~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 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-09 00:02:48 +0100krei-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 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-08 23:59:20 +0100Square2(~Square@user/square) Square
2026-02-08 23:58:01 +0100Square2(~Square@user/square) (Remote host closed the connection)
2026-02-08 23:56:04 +0100merijn(~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 +0100mange(~mange@user/mange) mange
2026-02-08 23:52:33 +0100Everything(~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 +0100Putonlalla(~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 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-08 23:44:22 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2026-02-08 23:43:50 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-08 23:40:29 +0100emmanuelux(~em@user/emmanuelux) (Read error: Connection reset by peer)
2026-02-08 23:40:09 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-08 23:37:15 +0100ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) ThePenguin
2026-02-08 23:36:29 +0100ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
2026-02-08 23:36:05 +0100ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) ThePenguin
2026-02-08 23:36:00 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-08 23:35:54 +0100Putonlalla(~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 +0100ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
2026-02-08 23:32:46 +0100emmanuelux(~em@user/emmanuelux) (Read error: Connection reset by peer)
2026-02-08 23:31:45 +0100ThePenguin(~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 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-08 23:28:07 +0100ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
2026-02-08 23:24:22 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-08 23:23:44 +0100emmanuelux(~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