Newest at the top
| 2026-05-15 05:25:57 +0000 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) GdeVolpiano |
| 2026-05-15 05:25:23 +0000 | <jreicher> | monochrom: So you're saying we can understand a continuation as a message, and the function that accepts it as an object? |
| 2026-05-15 05:23:40 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 2026-05-15 05:23:14 +0000 | random-jellyfish | (~random-je@user/random-jellyfish) random-jellyfish |
| 2026-05-15 05:21:24 +0000 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
| 2026-05-15 05:16:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-05-15 05:15:23 +0000 | tnt1 | (~Thunderbi@user/tnt1) tnt1 |
| 2026-05-15 05:14:26 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-05-15 05:11:51 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 05:11:26 +0000 | raym | (~ray@user/raym) raym |
| 2026-05-15 05:03:46 +0000 | Inline | (~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) Inline |
| 2026-05-15 05:01:00 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-05-15 04:58:38 +0000 | michalz | (~michalz@185.246.207.221) |
| 2026-05-15 04:56:04 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 04:55:11 +0000 | <monochrom> | This holds for all algebraic effects. All of them could have been free monads implemented as algebraic data types. People use delimited continuations for speed only; it's just a code optimization. There is no mathematical difference apart from performance. |
| 2026-05-15 04:49:29 +0000 | <monochrom> | An example of this equivalence is the exception effect. It can be implemented by "3" ways: bi-contiuation passing, stack frames, the Either monad which is an algebraic data type. But then bi-continuation passing is just church encoding of the Either ADT. And pushing stack frames containing function pointers is just passing continuations. |
| 2026-05-15 04:45:08 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-05-15 04:40:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 04:37:48 +0000 | <monochrom> | (unless you really insist that "dispatch" must involve function pointers, like average OO people do; then I can compromise with: case-of is defunctionalized dispatch.) |
| 2026-05-15 04:35:50 +0000 | <monochrom> | The data from defunctionalization are of an algebraic data type. The receiver does a case-of and reacts to different cases differently. That's just another way to say "dispatch". |
| 2026-05-15 04:31:29 +0000 | <monochrom> | And then you just have to accept message = data. Same difference. |
| 2026-05-15 04:31:10 +0000 | <monochrom> | Meanwhile, FP people thought up taking CPS code, which requires a language that supports higher-order functions, and performing defunctionalization to convert continuations to data, therefore requiring only first-order functions. So now one doesn't pass around continuations, instead passes around data. |
| 2026-05-15 04:30:21 +0000 | Inline | (~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 2026-05-15 04:29:49 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-05-15 04:27:24 +0000 | <monochrom> | Today people say "call method m() of object o". But that's not the original OO. Original OO said "send message m() to object o". |
| 2026-05-15 04:24:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 04:20:47 +0000 | paddymahoney | (~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com) |
| 2026-05-15 04:19:40 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 244 seconds) |
| 2026-05-15 04:12:49 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-05-15 04:07:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 03:56:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-05-15 03:49:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 03:39:54 +0000 | paddymahoney | (~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com) (Ping timeout: 245 seconds) |
| 2026-05-15 03:34:01 +0000 | <jreicher> | I'm not presupposing or claiming any kind of profundity here. I'm just playing with the ideas to see what I find. But TBH I'm not sure I understand what you mean by "messaging passing" in a pure functional context. Can you explain that, if the question makes sense? |
| 2026-05-15 03:27:52 +0000 | craunts795335385 | (~craunts@136.158.7.226) (Quit: The Lounge - https://thelounge.chat) |
| 2026-05-15 03:21:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-05-15 03:16:53 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 03:06:12 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-05-15 03:01:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 02:56:52 +0000 | tri | (~tri@ool-44c70bcb.dyn.optonline.net) |
| 2026-05-15 02:56:40 +0000 | tri | (~tri@ool-44c70bcb.dyn.optonline.net) (Remote host closed the connection) |
| 2026-05-15 02:52:23 +0000 | tri | (~tri@ool-44c70bcb.dyn.optonline.net) |
| 2026-05-15 02:50:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-05-15 02:45:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 02:36:50 +0000 | tri | (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 245 seconds) |
| 2026-05-15 02:34:38 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-05-15 02:34:04 +0000 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) lisbeths |
| 2026-05-15 02:32:45 +0000 | tri | (~tri@ool-44c70bcb.dyn.optonline.net) |
| 2026-05-15 02:29:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-15 02:28:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |