libcspm-0.2.0: A library providing a parser, type checker and evaluator for CSPM.



Renames all variables to unique Names, in the process converting all UnRenamedName into Name. This simplifies many subsequent phases as every name is guaranteed to be unique so flat maps may be used, rather than Hierarchical maps. Further, this also flags patterns that match channels and datatype clauses.



runFromStateToState :: RenamerState -> RenamerMonad a -> IO (a, RenamerState)Source

Runs the renamer starting at the given state and returning the given state.

initRenamer :: IO RenamerStateSource

Initialises the renamer.

rename :: Renamable e1 e2 => e1 -> RenamerMonad e2Source