libcspm

A library providing a parser, type checker and evaluator for CSPM.

https://github.com/tomgr/libcspm

Latest on Hackage:1.0.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed and maintained by Thomas Gibson-Robinson

This library provides a parser, type checker and evaluator for machine CSP. The parser is designed to be compatible with FDR2 and, in particular, deals with the ambiguity between greater than and end of sequence in the same way (as far as possible, see CSPM.Parser for more information). The typechecker is as liberal as it is possible to make a typechecker without making typechecking undecidable. Documentation on the type system is forthcoming. The evaluator is relatively experimental, but should be able to evaluate any CSPM expression that FDR2 can. The output of this phase (if a process is evaluated) is a tree of CSP (note not CSPM) operator applications which should be suitable for input into a refinement checker, or other process algebraic tool.

The main module of interest will be the CSPM module. This packages up most of the functionality of the library in an easy to use, relatively high level format. See CSPM for an example of how to use this module.