The comptrans package

[ Tags: bsd3, data, generics, library ] [ Propose Tags ]

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!

Properties

Versions 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 (==0.*), 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 BSD3
Author James Koppel
Maintainer James Koppel
Category Data, Generics
Home page https://github.com/jkoppel/comptrans
Source repository head: git clone https://github.com/jkoppel/comptrans
Uploaded Wed Apr 1 17:42:07 UTC 2015 by JamesKoppel
Distributions NixOS:0.1.0.5
Downloads 743 total (16 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-04-01 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees