funcons-tools: A modular interpreter for executing funcons

[ compilers-interpreters, library, mit, program ] [ Propose Tags ]

The PLanCompS project has developed a component-based approach to formal semantics. The semantics of a language is defined by translating its constructs to combinations of `fundamental constructs' called funcons.

Read more about the project here: Read more about funcons and their specification in CBS here: JLAMP2016.

This package provides a collection of highly reusable funcons in Funcons.Core, an interpreter for these funcons and means for defining new funcons.

The executable provided by this package is an interpreter for running terms constructed from the collection of funcons provided by Funcons.Core. How this executable is used is explained in Funcons.Tools.

Additional funcons can be defined with the helper functions provided by Funcons.EDSL. The module Funcons.Tools provides functions for creating executables by extending the main interpreter with additional funcons.

Please contact any of the maintainers when unexpected behaviour is encountered or exports appear to be missing.

Click here for the package's documentation.

Versions [faq],,,,,
Dependencies base (>=4.3 && <4.9), bv, containers, directory, funcons-tools, mtl (>=2.0), multiset, parsec, split, text, vector [details]
License MIT
Copyright Copyright (C) 2015 L. Thomas van Binsbergen and Neil Sculthorpe
Author L. Thomas van Binsbergen and Neil Sculthorpe
Maintainer L. Thomas van Binsbergen <>
Revised Revision 2 made by ltvanbinsbergen at Thu Feb 11 14:58:37 UTC 2016
Category Compilers/Interpreters
Home page
Uploaded by ltvanbinsbergen at Tue Feb 9 14:55:51 UTC 2016
Distributions NixOS:
Executables runfct
Downloads 1750 total (127 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]



  • Funcons
    • Funcons.Core
    • Funcons.EDSL
    • Funcons.Tools


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees