Name: syntactic Version: 1.2.1 Synopsis: Generic abstract syntax, and utilities for embedded languages Description: This library provides: . * Generic representation and manipulation of abstract syntax . * Composable AST representations (partly based on Data Types à la Carte [1]) . * A collection of common syntactic constructs, including variable binding constructs . * Utilities for analyzing and transforming generic abstract syntax . * Utilities for building extensible embedded languages based on generic syntax . For more information about the core functionality, see \"A Generic Abstract Syntax Model for Embedded Languages\" (ICFP 2012): . * Paper: . * Slides: . For a practical example of how to use the library, see the proof-of-concept implementation Feldspar EDSL in the @examples@ directory. (The real Feldspar [2] is also implemented using Syntactic.) . The maturity of this library varies between different modules. The core part ("Language.Syntactic") is rather stable, but many of the other modules are in a much more experimental state. . \[1\] W. Swierstra. Data Types à la Carte. /Journal of Functional Programming/, 18(4):423-436, 2008, . . \[2\] License: BSD3 License-file: LICENSE Author: Emil Axelsson Maintainer: emax@chalmers.se Copyright: Copyright (c) 2011-2012, Emil Axelsson Homepage: http://projects.haskell.org/syntactic/ Category: Language Build-type: Simple Cabal-version: >=1.10 Tested-with: GHC==7.6.1, GHC==7.4.2 extra-source-files: CONTRIBUTORS examples/NanoFeldspar/*.hs tests/gold/*.txt source-repository head type: darcs location: http://projects.haskell.org/syntactic/ library exposed-modules: Data.PolyProxy Data.DynamicAlt Language.Syntactic Language.Syntactic.Syntax Language.Syntactic.Traversal Language.Syntactic.Constraint Language.Syntactic.Sugar Language.Syntactic.Interpretation.Equality Language.Syntactic.Interpretation.Evaluation Language.Syntactic.Interpretation.Render Language.Syntactic.Interpretation.Semantics Language.Syntactic.Constructs.Binding Language.Syntactic.Constructs.Binding.HigherOrder Language.Syntactic.Constructs.Binding.Optimize Language.Syntactic.Constructs.Condition Language.Syntactic.Constructs.Construct Language.Syntactic.Constructs.Decoration Language.Syntactic.Constructs.Identity Language.Syntactic.Constructs.Literal Language.Syntactic.Constructs.Monad Language.Syntactic.Constructs.Tuple Language.Syntactic.Frontend.Monad Language.Syntactic.Frontend.Tuple Language.Syntactic.Frontend.TupleConstrained 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.7, containers, constraints, data-hash, ghc-prim, mtl >= 2 && < 3, transformers >= 0.2, tuple >= 0.2 hs-source-dirs: src default-language: Haskell2010 default-extensions: ConstraintKinds DeriveDataTypeable DeriveFunctor FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving Rank2Types ScopedTypeVariables StandaloneDeriving TypeFamilies TypeOperators ViewPatterns other-extensions: -- Not understood by Cabal: PolyKinds OverlappingInstances UndecidableInstances test-suite NanoFeldsparEval type: exitcode-stdio-1.0 hs-source-dirs: tests examples main-is: NanoFeldsparEval.hs other-modules: default-language: Haskell2010 default-extensions: FlexibleContexts FlexibleInstances GADTs MultiParamTypeClasses ScopedTypeVariables TypeFamilies TypeOperators UndecidableInstances ViewPatterns other-extensions: TemplateHaskell build-depends: syntactic, base >= 4 && < 4.7, QuickCheck >= 2.4 && < 3, test-framework >= 0.6, test-framework-th >= 0.2, test-framework-quickcheck2 >= 0.2 test-suite NanoFeldsparTree type: exitcode-stdio-1.0 hs-source-dirs: tests examples main-is: NanoFeldsparTree.hs other-modules: default-language: Haskell2010 default-extensions: FlexibleContexts FlexibleInstances GADTs MultiParamTypeClasses ScopedTypeVariables TypeFamilies TypeOperators UndecidableInstances ViewPatterns other-extensions: TemplateHaskell build-depends: syntactic, base >= 4 && < 4.7, bytestring, test-framework >= 0.6, test-framework-golden >= 1.1