porcuquine
porcuquine
> @porcuquine I was asking because miyazono's original issue starts with: > > > Data extraction is likely to be slow/costly under most (but not necessarily all) circumstances. > >...
We will make `NIL` have type `Sym`, with the expected hash value if it were an ordinary Lurk symbol. All NIL checks will then need to become normal pointer equality...
This is paused without having been changed yet. There is a new candidate plan, which involves making `nil` and `t` both have type `Bool`, with values 0 and 1 —...
Although I'm sure it's not exactly the same, something about this reminds me of #3 (lol, number three). The idea of an env becoming 'lost' may be conceptually useful as...
I think I know the issue. When we find a *function* in a recursive environment, then we extend its closure-environment at the time it is found. That is how we...
In other words, the hypothesis that `odd?` should be available inside the definition of even is simply mistaken. You can reason through this by considering the bindings available lexically when...
In other words, the interesting point about the original issue was not actually, "Mutual recursion is surprisingly broken in some case," which we always knew. But rather it is, "But...
Correcting myself slightly: It's not true that the first (bad) example is exactly the same as the test demonstrating the error. That would actually expand to ``` (letrec ((even (lambda...
Alternately, maybe it will be better to pursue one of the other strategies. I think we can get the properties we want by making the recursive lookups smarter. This will...
In that model (the one involving making recursive lookups smarter), we wouldn't even need a new construct. Then this ``` (lettrec ((even? (n) (if (= n 0) true (odd? (-...