Newest at the top
| 2026-04-06 19:23:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-06 19:23:34 +0000 | AlexNoo__ | (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:23:16 +0000 | preflex | (~preflex@user/mauke/bot/preflex) preflex |
| 2026-04-06 19:23:12 +0000 | <monochrom> | :( |
| 2026-04-06 19:22:53 +0000 | <int-e> | (please nobody bring up the Therac-25... oops) |
| 2026-04-06 19:22:50 +0000 | AlexNoo_ | (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:22:39 +0000 | preflex | (~preflex@user/mauke/bot/preflex) (Remote host closed the connection) |
| 2026-04-06 19:22:38 +0000 | <monochrom> | (I might say that, then, from CPS to monad is a fairly natural next step.) |
| 2026-04-06 19:22:26 +0000 | AlexNoo__ | (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |
| 2026-04-06 19:22:00 +0000 | <monochrom> | (The CPS wrapper is then less error-prone in that regard.) |
| 2026-04-06 19:21:54 +0000 | AlexNoo_ | (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |
| 2026-04-06 19:21:46 +0000 | <int-e> | (quite the opposite) |
| 2026-04-06 19:21:41 +0000 | <int-e> | eh a little nontermination never killed anybody |
| 2026-04-06 19:21:13 +0000 | AlexNoo | (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:21:00 +0000 | <monochrom> | Strictly (pun! you'll see) speaking, [Reply] -> [Request] plus a very strong laziness assumption because clearly you should not force a reply before you emit a request... |
| 2026-04-06 19:20:18 +0000 | AlexNoo | (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |
| 2026-04-06 19:19:29 +0000 | <monochrom> | Yeah very old Haskell did [Reply] -> [Request]. And provided a CPS wrapper. |
| 2026-04-06 19:18:14 +0000 | AlexNoo__ | (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:17:42 +0000 | <monochrom> | Generally, people want comfort-zone models, not models that actually works. (Just look at most analogies for Monad way back then.) |
| 2026-04-06 19:17:30 +0000 | AlexNoo_ | (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:17:18 +0000 | m_a_r_k | (~m_a_r_k@archlinux/support/mark) m_a_r_k |
| 2026-04-06 19:17:06 +0000 | AlexNoo__ | (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |
| 2026-04-06 19:17:05 +0000 | puke | (~puke@user/puke) (Quit: puke) |
| 2026-04-06 19:16:34 +0000 | AlexNoo_ | (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |
| 2026-04-06 19:16:10 +0000 | <int-e> | (it predates my exposure to Haskell) |
| 2026-04-06 19:15:56 +0000 | <mauke> | that sounds like Haskell 1.3 or something |
| 2026-04-06 19:15:53 +0000 | AlexNoo | (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:15:46 +0000 | <c_wraith> | yes, that predates Monad being part of the standard library |
| 2026-04-06 19:15:31 +0000 | <int-e> | Wasn't there a [Reply] -> [Request] model at some point |
| 2026-04-06 19:15:30 +0000 | <monochrom> | Right, good for about 0th approximation only. |
| 2026-04-06 19:15:15 +0000 | <mauke> | why did 10 lines of activity just pop up at once? how laggy is this connection? :-) |
| 2026-04-06 19:14:58 +0000 | AlexNoo | (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |
| 2026-04-06 19:14:54 +0000 | <monochrom> | ISTR Hugs old versions did it the free-monad way! But I can't find it now. |
| 2026-04-06 19:14:39 +0000 | <c_wraith> | the model doesn't work for concurrent code, though. So... uh... |
| 2026-04-06 19:14:36 +0000 | <int-e> | And monochrom is cruel anough to tell them that RealWorld is entirely imaginary. |
| 2026-04-06 19:14:03 +0000 | <monochrom> | "RealWorld -> (a, RealWorld)" is a very comfortable model, so comfortable that people try everything to rationalize that it really happens in the real world. (Pun intended!) |
| 2026-04-06 19:14:00 +0000 | <mauke> | it's like someone asking how I/O works in C and the first thing people point to is the struct layout of FILE in the glibc implementation of <stdio.h> |
| 2026-04-06 19:13:35 +0000 | <c_wraith> | (though they can be part of an unboxed tuple of return values) |
| 2026-04-06 19:13:34 +0000 | <mauke> | RealWorld is an irrelevant implementation detail of one particular Haskell implementation |
| 2026-04-06 19:13:21 +0000 | <int-e> | Now, here's the real question: Did Rust steal zero-sized types from Haskell ;-) |
| 2026-04-06 19:13:18 +0000 | <c_wraith> | they have some obvious restrictions as the result of this - they can't be the sole return value of a function, for instance. |
| 2026-04-06 19:13:05 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-04-06 19:12:54 +0000 | AlexNoo__ | (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:12:20 +0000 | <c_wraith> | GHC supports values that exist in code, but not at run time. |
| 2026-04-06 19:12:10 +0000 | AlexNoo_ | (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:12:09 +0000 | <int-e> | "exist" in the sense that they're stored in memory or a register |
| 2026-04-06 19:12:01 +0000 | <c_wraith> | making GHC allow users to create zero-size values is actually a relatively new thing. |
| 2026-04-06 19:12:00 +0000 | <monochrom> | Yes. But I am addressing what people choose to believe, and how to change their minds; not what is already true. |
| 2026-04-06 19:12:00 +0000 | <tomsmeding> | (not to be confused with types that can have no values in the first place, i.e. types with kind different from Type) |
| 2026-04-06 19:11:46 +0000 | AlexNoo__ | (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |