The funcons-tools package

[ Tags: 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.


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 <>
Category Compilers/Interpreters
Home page
Uploaded Tue Feb 9 14:55:51 UTC 2016 by ltvanbinsbergen
Updated Thu Feb 11 14:58:37 UTC 2016 by ltvanbinsbergen to revision 2   [What is this?]
Distributions NixOS:
Executables runfct
Downloads 727 total (5 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI


  • 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