@hackage syntactic1.0
Generic abstract syntax, and utilities for embedded languages
Installation
Dependencies (10)
- array
- base >=4.0 && <4.7
- constraints
- containers
- data-hash
- ghc-prim Show all…
Dependents (9)
@hackage/imperative-edsl, @hackage/co-feldspar, @hackage/acme-everything, @hackage/imperative-edsl-vhdl, @hackage/raw-feldspar, @hackage/feldspar-compiler, Show all…
This library provides:
Generic representation and manipulation of abstract syntax
Composable AST representations (partly based on Data Types à la Carte [1])
A collection of common syntactic constructs, including variable binding constructs
Utilities for analyzing and transforming generic abstract syntax
Utilities for building extensible embedded languages based on generic syntax
A small proof-of-concept implementation of the embedded language Feldspar [2] (see the
Examplesdirectory)
For details, see the paper "A Generic Abstract Syntax Model for Embedded Languages" (ICFP 2012, http://www.cse.chalmers.se/~emax/documents/axelsson2012generic.pdf).
The maturity of this library varies between different modules.
The core part (Language.Syntactic) is rather stable, but many
of the other modules are in a much more experimental state.
\[1\] W. Swierstra. Data Types à la Carte. Journal of Functional Programming, 18(4):423-436, 2008, http://dx.doi.org/10.1017/S0956796808006758.