syntactic: Generic abstract syntax, and utilities for embedded languages
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
Examples
directory)
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.
Modules
[Index]
- Data
- Language
- Language.Syntactic
- Language.Syntactic.Constraint
- Constructs
- Language.Syntactic.Constructs.Binding
- Language.Syntactic.Constructs.Condition
- Language.Syntactic.Constructs.Construct
- Language.Syntactic.Constructs.Decoration
- Language.Syntactic.Constructs.Identity
- Language.Syntactic.Constructs.Literal
- Language.Syntactic.Constructs.Monad
- Language.Syntactic.Constructs.Tuple
- Frontend
- Interpretation
- Sharing
- Language.Syntactic.Sugar
- Language.Syntactic.Syntax
- Language.Syntactic.Traversal
- Language.Syntactic
Downloads
- syntactic-1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1, 0.2, 0.2.0.1, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.0.1, 1.2, 1.2.1, 1.3, 1.4, 1.5.1, 1.5.2, 1.6.1, 1.7.1, 1.8, 1.9, 1.10, 1.11, 1.12.1, 1.13, 1.14, 1.15, 1.15.1, 1.16, 1.16.1, 1.16.2, 1.17, 2.0, 2.1, 3.0, 3.1, 3.2, 3.2.1, 3.3, 3.4, 3.5, 3.6, 3.6.1, 3.6.2, 3.6.3, 3.7, 3.7.1, 3.8, 3.8.1, 3.8.2, 3.8.3, 3.8.4 |
---|---|
Dependencies | array, base (>=4.0 && <4.7), constraints, containers, data-hash, ghc-prim, mtl (>=2 && <3), tagged, transformers (>=0.2), tuple (>=0.2) [details] |
License | BSD-3-Clause |
Copyright | Copyright (c) 2011-2012, Emil Axelsson |
Author | Emil Axelsson |
Maintainer | emax@chalmers.se |
Category | Language |
Home page | http://projects.haskell.org/syntactic/ |
Source repo | head: darcs get http://projects.haskell.org/syntactic/ |
Uploaded | by EmilAxelsson at 2012-09-11T22:47:25Z |
Distributions | |
Reverse Dependencies | 9 direct, 2 indirect [details] |
Downloads | 37774 total (11 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |