Changeset [2b108c39f9179982b3d2447a980928aeb81e99d5] by Douglas Creager
Revision 2b108c39f9179982b3d2447a980928aeb81e99d5,
committed by Douglas Creager
· August 25th, 2008 @ 07:09 PM
Initial Haskell CSPM implementation
This is an initial patch implementing the CSPM language in Haskell. I've chosen Haskell since, like CSPM, it's a lazy functional language. This means we don't have to “implement” any of the functional features of CSPM; rather, we can just call the appropriate Haskell functions.
This patch includes a basic implementation of the simple non-process expressions in CSPM. It does not yet include variable references, ‘let’ bindings, or functions, since they'll all require static-scoped environments. There is a basic test suite, based on QuickCheck. I also still need to wrap everything up in a Cabal package.
Lighthouse: [#2] http://github.com/dcreager/hst/c...
9 changed files
-
M
cspm/.gitignore -
M
cspm/src/HST/CSPM.hs -
M
cspm/src/HST/CSPM/Evaluate.hs -
M
cspm/src/HST/CSPM/Expressions.hs -
M
cspm/src/HST/CSPM/Values.hs -
M
cspm/tests/HST/CSPM/Tests.hs -
M
cspm/tests/HST/CSPM/Tests/Generators.hs -
M
cspm/tests/HST/CSPM/Tests/Numbers.hs -
M
cspm/tests/HST/CSPM/Tests/Sequences.hs