syntactic-0.7: syntactic.cabal
Name: syntactic
Version: 0.7
Synopsis: Generic abstract syntax, and utilities for embedded languages
Description: This library provides:
.
* Generic representation and manipulation of abstract syntax
using a practical encoding of open data types (based on Data
Types à la Carte [1])
.
* Utilities for analyzing and transforming generic syntax
.
* General variable binding constructs
.
* 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)
.
Note: The library is probably mostly useful for /functional/
object languages, such as Feldspar. Currently, it does not
support cyclic programs.
.
The following people have contributed to Syntactic:
.
* Anders Persson
.
\[1\] /Data types à la carte/, by Wouter Swierstra, in
/Journal of Functional Programming/, 2008
.
\[2\] <http://hackage.haskell.org/package/feldspar-language>
License: BSD3
License-file: LICENSE
Author: Emil Axelsson
Maintainer: emax@chalmers.se
Copyright: Copyright (c) 2011, Emil Axelsson
Homepage: http://projects.haskell.org/syntactic/
Category: Language
Build-type: Simple
Cabal-version: >=1.6
Extra-source-files:
Examples/ALaCarte.hs
Examples/NanoFeldspar/Core.hs
Examples/NanoFeldspar/Extra.hs
Examples/NanoFeldspar/Vector.hs
Examples/NanoFeldspar/Test.hs
CEFP/MuFeldspar/Core.hs
CEFP/MuFeldspar/Frontend.hs
CEFP/MuFeldspar/Prelude.hs
CEFP/MuFeldspar/Vector.hs
CEFP/Imperative/Compiler.hs
CEFP/Imperative/Imperative.hs
CEFP/Examples/CodeApplication.hs
CEFP/Examples/Exercise10.hs
CEFP/Examples/Exercise12.hs
CEFP/Examples/Exercise14.hs
CEFP/Examples/ExProg.hs
CEFP/Examples/SolutionsSec2.hs
CEFP/Examples/Test.hs
source-repository head
type: darcs
location: http://projects.haskell.org/syntactic/
Library
Exposed-modules:
Language.Syntactic
Language.Syntactic.Syntax
Language.Syntactic.Interpretation.Equality
Language.Syntactic.Interpretation.Render
Language.Syntactic.Interpretation.Evaluation
Language.Syntactic.Constructs.Annotate
Language.Syntactic.Constructs.Symbol
Language.Syntactic.Constructs.Literal
Language.Syntactic.Constructs.Condition
Language.Syntactic.Constructs.Tuple
Language.Syntactic.Constructs.TupleSyntacticPoly
Language.Syntactic.Constructs.TupleSyntacticSimple
Language.Syntactic.Constructs.Binding
Language.Syntactic.Constructs.Binding.HigherOrder
Language.Syntactic.Constructs.Binding.Optimize
Language.Syntactic.Constructs.Monad
Language.Syntactic.Frontend.Monad
Language.Syntactic.Sharing.SimpleCodeMotion
Language.Syntactic.Sharing.Utils
Language.Syntactic.Sharing.Graph
Language.Syntactic.Sharing.StableName
Language.Syntactic.Sharing.Reify
Language.Syntactic.Sharing.ReifyHO
Other-modules:
Build-depends:
array,
base >= 4 && < 4.4,
containers,
data-hash,
mtl >= 1.1 && < 3,
tagged,
transformers >= 0.2,
tuple >= 0.2
Extensions:
DeriveDataTypeable
DeriveFunctor
EmptyDataDecls
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
MultiParamTypeClasses
PatternGuards
Rank2Types
ScopedTypeVariables
StandaloneDeriving
TypeFamilies
TypeOperators
TypeSynonymInstances
ViewPatterns