This PR makes a conversion from Lisp-1 (single namespace) to Lisp-2, with two namespaces for functions and another for the rest of bindings. This is a solution that allows for proper lexical scoping of variables in closures, as well as co-recursive functions.
This PR makes a conversion from Lisp-1 (single namespace) to Lisp-2, with two namespaces for functions and another for the rest of bindings. This is a solution that allows for proper lexical scoping of variables in closures, as well as co-recursive functions.
This will fix a number of issues made by @lambdageek (thank you!): https://github.com/write-you-a-scheme-v2/scheme/issues/23 https://github.com/write-you-a-scheme-v2/scheme/issues/24 https://github.com/write-you-a-scheme-v2/scheme/issues/25
Before this gets merged, the tutorial text must be updated to reflect:
applyLambda
,bindArgsEval
,EnvCtx