codewars/lambda-calculus

Implement constants

Kacarott opened this issue · 1 comments

JohanWiltink: "currently all variables can not only be shadowed but also overwritten. this might mean introducing full scoping, and might not be worth it. or is it just a matter of tagging names in the environment?"

overwritten * in the current scope

disabling overwriting need not disable shadowing, so tagging binding names would do. we already have hierarchical scopes.

this would need a syntax extension - actually a compiler directive would do just fine and be conceptually appropriate.