packages feed

comptrans-0.1.0.2: comptrans.cabal

Name:                comptrans
Version:             0.1.0.2
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