syntactic-0.6: syntactic.cabal
Name: syntactic
Version: 0.6
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.
.
\[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
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.Features.Annotate
Language.Syntactic.Features.Symbol
Language.Syntactic.Features.Literal
Language.Syntactic.Features.Condition
Language.Syntactic.Features.Tuple
Language.Syntactic.Features.TupleSyntacticPoly
Language.Syntactic.Features.TupleSyntacticSimple
Language.Syntactic.Features.Binding
Language.Syntactic.Features.Binding.HigherOrder
Language.Syntactic.Features.Binding.PartialEval
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
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
MultiParamTypeClasses
Rank2Types
ScopedTypeVariables
TypeFamilies
TypeOperators
TypeSynonymInstances
ViewPatterns
-- Required by GHC-6.12:
EmptyDataDecls
PatternGuards