-- The name of the package.
name:                nominal

-- The package version.  See the Haskell package versioning policy (PVP) 
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.1.0.0

-- A short (one-line) description of the package.
synopsis:            Binders and alpha-equivalence made easy

-- A longer description of the package.
description:         

  An efficient and easy-to-use library for defining datatypes with
  binders, and automatically handling bound variables and
  alpha-equivalence. It is based on Gabbay and Pitts's theory of
  nominal sets.

-- URL for the project homepage or repository.
-- homepage:

-- The license under which the package is released.
license:             GPL-3

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Peter Selinger

-- An email address to which users can send suggestions, bug reports, and 
-- patches.
maintainer:          selinger@mathstat.dal.ca

-- A copyright notice.
copyright:           Copyright (c) 2016-2018 Peter Selinger

-- A classification category for future use by the package catalogue
-- Hackage. These categories have not yet been specified, but the
-- upper levels of the module hierarchy make a good start.
category:            Language, Generics, Compilers/Interpreters

-- The type of build used by this package.
build-type:          Simple

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       1.24

-- A list of additional files to be included in source distributions
-- built with setup sdist.
extra-source-files:    ChangeLog
                       examples/Minimal.hs
                       examples/Lambda.hs
                       examples/GenericInstances.hs
                       examples/CustomInstances.hs

library
  -- Modules exported by the library.
  exposed-modules:     Nominal,
                       Nominal.ConcreteNames,
                       Nominal.Unsafe,
                       Nominal.Atom,
                       Nominal.Permutation,
                       Nominal.Nominal,
                       Nominal.NominalSupport,
                       Nominal.NominalShow,
                       Nominal.Bindable,
                       Nominal.Atomic,
                       Nominal.Generics
  
  -- Modules included in this library but not exported.
  -- other-modules:
  
  -- Other library packages from which modules are imported.
  build-depends:       base >= 4.5 && < 5,
                       containers >= 0.5

  default-language:    Haskell2010