|
|
|
|
|
by indspenceable
5252 days ago
|
|
Can someone explain how this works? I understand that (label second '(...)) makes second evaluate to that in the future, statefully, but, the lambda symbol doesn't even appear to have a definition; furthermore, if you try to use it in a way that would work with a real lambda, it doesn't work. For instance
[[:lambda, [:x], :x], 2] |
|
It evals the third element of the list (the lambda body) in a new context that combines `@env` and the binding of lambda's args to the symbols in the lambda's definition -- that's what the `Hash` mumbo jumbo creates.
[1]: https://github.com/fogus/ulithp/blob/b02d5806ce3b2d3766311c2...