packages feed

singletons-1.0: singletons.cabal

name:           singletons
version:        1.0
                -- Remember to bump version in the Makefile as well
cabal-version:  >= 1.10
synopsis:       A framework for generating singleton types
homepage:       http://www.cis.upenn.edu/~eir/packages/singletons
category:       Dependent Types
author:         Richard Eisenberg <eir@cis.upenn.edu>, Jan Stolarek <jan.stolarek@p.lodz.pl>
maintainer:     Richard Eisenberg <eir@cis.upenn.edu>, Jan Stolarek <jan.stolarek@p.lodz.pl>
bug-reports:    https://github.com/goldfirere/singletons/issues
stability:      experimental
tested-with:    GHC ==7.8.2
extra-source-files: README.md, CHANGES.md,
                    tests/compile-and-dump/buildGoldenFiles.awk,
                    tests/compile-and-dump/GradingClient/*.hs,
                    tests/compile-and-dump/InsertionSort/*.hs,
                    tests/compile-and-dump/Promote/*.hs,
                    tests/compile-and-dump/Singletons/*.hs
                    tests/compile-and-dump/GradingClient/*.ghc76.template,
                    tests/compile-and-dump/InsertionSort/*.ghc76.template,
                    tests/compile-and-dump/Promote/*.ghc76.template,
                    tests/compile-and-dump/Singletons/*.ghc76.template,
                    tests/compile-and-dump/GradingClient/*.ghc78.template,
                    tests/compile-and-dump/InsertionSort/*.ghc78.template,
                    tests/compile-and-dump/Promote/*.ghc78.template,
                    tests/compile-and-dump/Singletons/*.ghc78.template
license:        BSD3
license-file:   LICENSE
build-type:     Simple
description:
    This library generates singleton types, promoted functions, and singleton
    functions using Template Haskell. It is useful for programmers who wish
    to use dependently typed programming techniques. The library was originally
    presented in /Dependently Typed Programming with Singletons/, published
    at the Haskell Symposium, 2012.
    (<http://www.cis.upenn.edu/~eir/papers/2012/singletons/paper.pdf>)

    The Haddock documentation does not build with the Haddock distributed with
    GHC 7.6.x, but it does build with 7.8.2. Please see links from the project
    homepage to find the built documentation.

source-repository this
  type:     git
  location: https://github.com/goldfirere/singletons.git
  tag:      v1.0

library
  hs-source-dirs:     src
  build-depends:      base >= 4.7 && < 5,
                      mtl >= 2.1.1,
                      template-haskell,
                      containers >= 0.5,
                      th-desugar >= 1.4
  default-language:   Haskell2010
  default-extensions: TemplateHaskell
        -- TemplateHaskell must be listed in cabal file to work with
        -- ghc7.8
  exposed-modules:    Data.Singletons,
                      Data.Singletons.CustomStar,
                      Data.Singletons.TypeRepStar,
                      Data.Singletons.TH,
                      Data.Singletons.Prelude,
                      Data.Singletons.Prelude.Base,
                      Data.Singletons.Prelude.Bool,
                      Data.Singletons.Prelude.Either,
                      Data.Singletons.Prelude.Eq,
                      Data.Singletons.Prelude.Ord,
                      Data.Singletons.Prelude.List,
                      Data.Singletons.Prelude.Maybe,
                      Data.Singletons.Prelude.Tuple,
                      Data.Promotion.Prelude,
                      Data.Promotion.TH,
                      Data.Promotion.Prelude.Base,
                      Data.Promotion.Prelude.Bool,
                      Data.Promotion.Prelude.Either,
                      Data.Promotion.Prelude.Eq,
                      Data.Promotion.Prelude.Ord,
                      Data.Promotion.Prelude.Bounded,
                      Data.Promotion.Prelude.List,
                      Data.Promotion.Prelude.Maybe,
                      Data.Promotion.Prelude.Tuple,
                      Data.Singletons.Types,
                      Data.Singletons.TypeLits,
                      Data.Singletons.Decide,
                      Data.Singletons.Void,
                      Data.Singletons.SuppressUnusedWarnings

  other-modules:      Data.Singletons.Promote,
                      Data.Singletons.Promote.Monad,
                      Data.Singletons.Promote.Eq,
                      Data.Singletons.Promote.Ord,
                      Data.Singletons.Promote.Bounded,
                      Data.Singletons.Promote.Type,
                      Data.Singletons.Promote.Defun,
                      Data.Singletons.Util,
                      Data.Singletons.Prelude.Instances,
                      Data.Singletons.Names,
                      Data.Singletons.Single.Monad,
                      Data.Singletons.Single.Type,
                      Data.Singletons.Single.Eq,
                      Data.Singletons.Single.Data,
                      Data.Singletons.Single,
                      Data.Singletons.Syntax

  ghc-options:        -Wall

test-suite singletons-test-suite
  type:               exitcode-stdio-1.0
  hs-source-dirs:     src, tests
  ghc-options:        -Wall
  default-language:   Haskell2010
  main-is:            SingletonsTestSuite.hs
  other-modules:      SingletonsTestSuiteUtils

  build-depends:      base >= 4.6 && < 5,
                      constraints,
                      filepath >= 1.3,
                      process >= 1.1,
                      tasty >= 0.6,
                      tasty-golden >= 2.2,
                      Cabal >= 1.16