name:           unbound
version:        0.5.0
license:        BSD3
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10
tested-with:    GHC == 7.0.4, GHC == 7.2.1, GHC == 7.4.1, GHC == 7.6.3, GHC == 7.8.3, GHC == 7.10, GHC == 8.0.1
author:         Stephanie Weirich, Brent Yorgey
maintainer:     Stephanie Weirich <sweirich@cis.upenn.edu>
homepage:       https://github.com/sweirich/replib
category:       Language, Generics, Compilers/Interpreters
extra-source-files: README,
                    CHANGES,
                    examples/*.hs,
                    tutorial/Makefile,
                    tutorial/Tutorial.lhs,
                    test/*.hs
synopsis:       Generic support for programming with names and binders

description:    Specify the binding structure of your data type with an
                expressive set of type combinators, and Unbound
                handles the rest!  Automatically derives
                alpha-equivalence, free variable calculation,
                capture-avoiding substitution, and more. See
                "Unbound.LocallyNameless" to get started.
source-repository head
  type:     git
  location: https://github.com/sweirich/replib

Library
  build-depends: base >= 4.3 && < 5,
                 RepLib >= 0.5.3 && < 0.6,
                 mtl >= 2.0 && < 2.3,
                 transformers >= 0.2.2.0 && < 0.6,
                 containers >= 0.3 && < 0.6,
                 binary >= 0.7 && < 0.9
  exposed-modules:
    Unbound.LocallyNameless,
    Unbound.LocallyNameless.Name,
    Unbound.LocallyNameless.Fresh,
    Unbound.LocallyNameless.Types,
    Unbound.LocallyNameless.Alpha,
    Unbound.LocallyNameless.Subst,
    Unbound.LocallyNameless.Ops,
    Unbound.PermM,
    Unbound.Util,
    Unbound.DynR
  other-extensions: CPP
                    EmptyDataDecls
                    ExistentialQuantification
                    FlexibleContexts
                    FlexibleInstances
                    GADTs
                    MultiParamTypeClasses
                    PatternGuards
                    RankNTypes
                    ScopedTypeVariables
                    StandaloneDeriving
                    TemplateHaskell
                    TypeOperators
                    TypeSynonymInstances
                    UndecidableInstances
  default-language: Haskell2010

Test-Suite lambda-calculus
    default-language: Haskell2010
    build-depends: base >= 4.3 && < 5,
                 RepLib >= 0.5.3 && < 0.6,
                 mtl >= 2.0 && < 2.3,
                 transformers >= 0.2.2.0 && < 0.6,
                 containers >= 0.3 && < 0.6,
                 binary >= 0.7 && < 0.9,
                 unbound >= 0.5,
                 template-haskell >= 2.11,
                 parsec >= 3.1.9 && < 3.2,
                 pretty>= 1.1.2 && < 1.2,
                 QuickCheck>=2.8.2 && < 2.10


    type:       exitcode-stdio-1.0
    main-is:    Examples/Main.hs
    other-modules:
        Examples.Basic
        Examples.LC
        Examples.STLC