Changeset [2a3f31e387e7b41c1856ff79a47ad5bfebdea5cc] by Douglas Creager
Revision 2a3f31e387e7b41c1856ff79a47ad5bfebdea5cc,
committed by Douglas Creager
· August 30th, 2008 @ 04:42 PM
CSPM environments
An environment is the symbol table that hold CSPM definitions. They provide a standard mapping between identifiers and the expressions that define them. Environments can also have an optional parent, which allows nested scoping; if an identifier is not found in the current environment, we then proceed to look for it in the containing environment.
This patch introduces the basic API for creating and using environments, but does not extend the evaluation rules to use them.
Lighthouse: [#11] http://github.com/dcreager/hst/c...
8 changed files
-
M
cspm/HST.cabal -
M
cspm/src/HST/CSPM.hs -
M
cspm/src/HST/CSPM/Environments.hs -
M
cspm/src/HST/CSPM/Evaluate.hs -
M
cspm/src/HST/CSPM/Expressions.hs -
M
cspm/tests/HST/CSPM/Tests/Environments.hs -
M
cspm/tests/HST/CSPM/Tests/Generators.hs -
M
cspm/tests/HST/CSPM/Tests/Sequences.hs