| 2026-05-31 00:06:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-05-31 00:12:56 +0000 | tremon | (~tremon@83-80-159-219.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 2026-05-31 00:17:24 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-05-31 00:21:59 +0000 | Icy-Thought | (~user@user/icy-thought) (Ping timeout: 245 seconds) |
| 2026-05-31 00:22:09 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 252 seconds) |
| 2026-05-31 00:33:10 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-05-31 00:37:33 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 252 seconds) |
| 2026-05-31 00:48:35 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-31 00:51:13 +0000 | Pozyomka_ | (~pyon@user/pyon) pyon |
| 2026-05-31 00:51:18 +0000 | Pozyomka | (~pyon@user/pyon) (Remote host closed the connection) |
| 2026-05-31 00:53:46 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-05-31 00:56:40 +0000 | pavonia | (~user@user/siracusa) siracusa |
| 2026-05-31 00:57:21 +0000 | Vizious | (~bes@user/Vizious) (Ping timeout: 246 seconds) |
| 2026-05-31 00:59:34 +0000 | Vizious | (~bes@user/Vizious) Vizious |
| 2026-05-31 01:04:20 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-31 01:09:27 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-05-31 01:10:26 +0000 | puke | (~puke@user/puke) (Quit: puke) |
| 2026-05-31 01:15:53 +0000 | puke | (~puke@user/puke) puke |
| 2026-05-31 01:20:09 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-31 01:21:40 +0000 | acidjnk | (~acidjnk@p200300d6e700e5548c17d531dbcfc9e6.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2026-05-31 01:21:40 +0000 | acidjnk_new | (~acidjnk@p200300d6e700e5548c17d531dbcfc9e6.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2026-05-31 01:25:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 261 seconds) |
| 2026-05-31 01:26:08 +0000 | Pozyomka_ | (~pyon@user/pyon) (Remote host closed the connection) |
| 2026-05-31 01:26:27 +0000 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-05-31 01:35:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-31 01:42:36 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-05-31 01:42:53 +0000 | Pozyomka | (~pyon@user/pyon) (Remote host closed the connection) |
| 2026-05-31 01:42:53 +0000 | Pozyomka_ | (~pyon@user/pyon) pyon |
| 2026-05-31 01:53:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-31 01:59:02 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-05-31 02:05:02 +0000 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 2026-05-31 02:05:40 +0000 | op_4 | (~tslil@user/op-4/x-9116473) op_4 |
| 2026-05-31 02:09:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-31 02:14:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2026-05-31 02:16:06 +0000 | td_ | (~td@i53870907.versanet.de) (Ping timeout: 243 seconds) |
| 2026-05-31 02:17:59 +0000 | td_ | (~td@i53870937.versanet.de) |
| 2026-05-31 02:19:25 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds) |
| 2026-05-31 02:25:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-31 02:29:35 +0000 | <jreicher> | lisbeths: there are (at least) two different domains of lambda calculus evaluation performance. One is the calculus itself, i.e. some evaluation orders are shorter than others. In the K-calculus, some evaluations don't terminate at all. The term "lazy" evaluation is sometimes used (incorrectly, in my opinion) to refer to evaluation order. You should make sure you're doing normal order evaluation. That's kind of the bare minimum for a |
| 2026-05-31 02:29:35 +0000 | <jreicher> | machine. Next is the implementation itself... |
| 2026-05-31 02:30:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-05-31 02:30:13 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-05-31 02:30:21 +0000 | <jreicher> | For that there are (at least) three kinds of optimisation. One is tail call optimisation. Another is fast currying. And then another is lazy evaluation, which is the memoisation of results. |
| 2026-05-31 02:31:05 +0000 | <jreicher> | And that's not even covering how you might represent the result of a beta reduction. The expensive way to do it is to generate a new lambda expression, but if performance is not a consideration there's actually nothing wrong with that. The use of environments, etc. is really just an optimisation. |
| 2026-05-31 02:32:16 +0000 | <jreicher> | Memoisation of results depends a bit on whether you are reducing under abstractions. I've never seen an implementation of that, but it's sometimes called "full laziness". Would be cool if someone did it. |
| 2026-05-31 02:33:24 +0000 | <jreicher> | But for a really efficient implementation you need to figure out fast currying. In some ways it's the most difficult of the three. |
| 2026-05-31 02:34:37 +0000 | <lisbeths> | you can write lazy algorithms in lc by suspending the application of something and storing all the arguments in a list. it doesnt have to be built into the interpreter |
| 2026-05-31 02:35:08 +0000 | <lisbeths> | im more talking about how to get fast arrays in lc |
| 2026-05-31 02:36:26 +0000 | Fijxu | (~Fijxu@user/fijxu) (Quit: XD!!) |
| 2026-05-31 02:37:10 +0000 | Fijxu | (~Fijxu@user/fijxu) fijxu |
| 2026-05-31 02:37:51 +0000 | <jreicher> | lisbeths: you don't store the arguments in a list. The lambda calculus expression IS the lsit. |
| 2026-05-31 02:41:04 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-05-31 02:45:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |