comptrans-0.1.0.4: comptrans.cabal
Name: comptrans
Version: 0.1.0.4
Synopsis:
Description:
License: BSD3
License-File: LICENSE
Author: James Koppel
Maintainer: James Koppel
Synopsis: Automatically converting ASTs into compositional data types
Description:
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!
Homepage: https://github.com/jkoppel/comptrans
Category: Data,Generics
Build-type: Simple
Cabal-version: >=1.9.2
Source-Repository head
Type: git
Location: https://github.com/jkoppel/comptrans
Library
Extensions:
DeriveGeneric
EmptyDataDecls
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
KindSignatures
MultiParamTypeClasses
OverlappingInstances
TemplateHaskell
TypeFamilies
TypeOperators
TypeSynonymInstances
UndecidableInstances
Ghc-Options:
-Wall
Exposed-Modules:
Data.Comp.Derive.Generic
Data.Comp.Trans
Other-Modules:
Data.Comp.Trans.Collect
Data.Comp.Trans.DeriveMulti
Data.Comp.Trans.DeriveTrans
Data.Comp.Trans.DeriveUntrans
Data.Comp.Trans.Names
Build-Depends: base >= 4.7, base < 5
, compdata < 1
, containers <= 0.6
, lens < 5
, template-haskell
, th-expand-syns <= 0.4
, ghc-prim >= 0.2
, deepseq < 1.4
, deepseq-generics < 0.1.2