Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

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