comptrans: Automatically converting ASTs into compositional data types
Template Haskell for converting an AST for a language written using normal
algebraic data types into ones written using multi-sorted compositional data types
(Data.Comp.Multi from the compdata library) so that you can use generic and modular operators
on it. You might need to add additional constructors that can e.g.: convert a (Term e Foo) into a
(Term e [Foo]).
The sCource files have comments showing example output for a simple language. See the examples directory for an extended example of generating a compositional data type for the entire Java language, with labelled variants as well as variants where an entire project of source files can be treated as a single AST -- and you can use the same operations on all of them!
Downloads
- comptrans-0.1.0.5.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5 |
|---|---|
| Dependencies | base (>=4.7 && <5), compdata (<1), containers (<=0.6), deepseq (<1.5), deepseq-generics (<0.1.2), ghc-prim (>=0.2), lens (<5), template-haskell, th-expand-syns (<=0.4) [details] |
| License | BSD-3-Clause |
| Author | James Koppel |
| Maintainer | James Koppel |
| Category | Data, Generics |
| Home page | https://github.com/jkoppel/comptrans |
| Source repo | head: git clone https://github.com/jkoppel/comptrans |
| Uploaded | by JamesKoppel at 2015-04-01T17:42:07Z |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 3667 total (7 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2015-04-01 [all 1 reports] |