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.

Versions [faq],,,,,
Dependencies base (>=4.3 && <=5), bv (>=0.5), containers, directory, funcons-tools, funcons-values (>=, gll (>=, mtl (>=2.0), multiset, random-strings, regex-applicative, split, text, TypeCompose (>=0.9.10), 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 1 made by ltvanbinsbergen at Sat Apr 7 10:31:17 UTC 2018
Category Compilers/Interpreters
Home page
Uploaded by ltvanbinsbergen at Fri Apr 6 10:05:45 UTC 2018
Distributions NixOS:
Executables runfct
Downloads 1623 total (53 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-04-14 [all 1 reports]




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