joergen7 / cf_reference

Semantic reference of the Cuneiform distributed programming language

Home Page:http://cuneiform-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semantic Reference of the Cuneiform Distributed Programming Language

This is a specification of the Cuneiform distributed programming language created in Redex.

This semantic reference defines an abstract syntax as a Redex language, a type system as judgment forms, a reduction relation as a notion of reduction and an evaluation context, and several examples for which we plot evaluation traces. The semantic reference comes with a unit test suite suitable to test new Cuneiform implementations.

Note that this reference defines only the semantics of the interpreter up to the interpreter's side of a communication protocol with a distributed execution environment.

Rendering Reduction Traces

In DrRacket open the file main.rkt and run it by pressing F5. Several popups appear illustrating the reduction traces of selected Cuneiform expressions.

Running the Test Suite

On the command line enter the following command while in the cf_reference directory:

raco test -j 8 *.rkt

Change Notes

The previous 0.1.0 release of this semantic reference includes property-based random tests based on Erlang QuickCheck. The current branch of the semantic reference provides only a unit test suite. We might add a property-based test scheme again later.

System Requirements

Resources

Authors

License

Apache 2.0

About

Semantic reference of the Cuneiform distributed programming language

http://cuneiform-lang.org

License:Apache License 2.0


Languages

Language:Racket 100.0%