2025/01/20

Newest at the top

2025-01-20 05:10:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-20 05:03:11 +0100ColinRobinson(~juan@user/JuanDaugherty) (Quit: ColinRobinson)
2025-01-20 05:00:48 +0100anpad(~pandeyan@user/anpad) anpad
2025-01-20 04:59:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-20 04:54:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-20 04:52:28 +0100JuanDaughertyColinRobinson
2025-01-20 04:44:36 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2025-01-20 04:43:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2025-01-20 04:42:40 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds)
2025-01-20 04:41:33 +0100ColinRobinsonJuanDaugherty
2025-01-20 04:39:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-20 04:37:24 +0100anpad(~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in)
2025-01-20 04:33:12 +0100JuanDaughertyColinRobinson
2025-01-20 04:28:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2025-01-20 04:26:32 +0100pavonia(~user@user/siracusa) siracusa
2025-01-20 04:24:10 +0100anpad(~pandeyan@user/anpad) anpad
2025-01-20 04:23:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-20 04:19:48 +0100 <homo> however, pattern guards are not going away, so someone has to implement those in hugs
2025-01-20 04:19:20 +0100 <homo> it's happening, microhs lowers language requirements to be bootstrappable with hugs https://github.com/augustss/MicroHs/commit/2f9eab4db4e811e4c75ea370a64914abc94abf9c https://github.com/augustss/MicroHs/commit/56be300c293304b37cb18db499d825621be9ec4d
2025-01-20 04:16:17 +0100anpad(~pandeyan@user/anpad) (Client Quit)
2025-01-20 04:15:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2025-01-20 04:15:30 +0100anpad(~pandeyan@user/anpad) anpad
2025-01-20 04:11:31 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-20 04:07:57 +0100anpad(~pandeyan@user/anpad) (Client Quit)
2025-01-20 04:05:07 +0100anpad(~pandeyan@user/anpad) anpad
2025-01-20 04:02:58 +0100homo(~homo@user/homo) homo
2025-01-20 04:01:25 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-01-20 04:01:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2025-01-20 03:58:29 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds)
2025-01-20 03:54:09 +0100 <int-e> +s
2025-01-20 03:53:59 +0100 <int-e> what fun
2025-01-20 03:53:57 +0100 <int-e> and you have to read programs backward to discern continuations
2025-01-20 03:53:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-20 03:53:21 +0100 <int-e> right, and `call` (or `jsr` or whatever; the assembly level things) are callCC
2025-01-20 03:52:11 +0100 <monochrom> Now just rename "return" to "continuation" there, and you have CPS.
2025-01-20 03:51:56 +0100 <monochrom> For this, you have to accept that I use the callee-pops-arguments convention. Suppose you make a "function call", i.e., push argument, push "return" address, jump to function. And suppose the function "returns", i.e., pop "return" address, pop argument, jump.
2025-01-20 03:50:38 +0100anpad(~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in)
2025-01-20 03:49:49 +0100 <monochrom> But here is also a low-level reason.
2025-01-20 03:49:40 +0100 <monochrom> Anyway, that's a high-level reason why I don't make a distinction between "call stack like in C" and "eval stack like in Haskell". (I'm also mocking the irony there too because neither ISO C nor Haskell 2010 require a stack.) They are all continuation stacks, and once you know the evaluation order you know what continuation means.
2025-01-20 03:46:02 +0100 <monochrom> Yeah you're just trading heap for stack. It's why I was so worked up about limited stack and unlimited heap.
2025-01-20 03:45:47 +0100 <geekosaur> that's what I said, wall-o-wtf 🙂
2025-01-20 03:45:39 +0100hgolden(~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) hgolden
2025-01-20 03:45:29 +0100 <albet70> I like this talks even I don't understand now, it's very inspired :)
2025-01-20 03:45:00 +0100 <int-e> monochrom: Heh. So if you use Cont or other (a -> r) -> (b -> r) -> r Haskell-level continuations, then at runtime, you have thunk-level CPS (continuations are stored in thunks until needed)
2025-01-20 03:43:58 +0100hgolden(~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection)
2025-01-20 03:43:29 +0100Adran(~adran@botters/adran) Adran
2025-01-20 03:42:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2025-01-20 03:41:25 +0100 <monochrom> Ooops, s/small//
2025-01-20 03:40:07 +0100 <monochrom> In this case, context is synonym for continuation.
2025-01-20 03:39:55 +0100 <geekosaur> unless they drowned in the wall-o-wtf