packages feed

open-witness-0.4.0.1: open-witness.cabal

cabal-version:  >=1.14
name:           open-witness
version:        0.4.0.1
x-follows-version-policy:
license:        BSD3
license-file:   LICENSE
copyright:      Ashley Yakeley <ashley@semantic.org>
author:         Ashley Yakeley <ashley@semantic.org>
maintainer:     Ashley Yakeley <ashley@semantic.org>
homepage:       https://github.com/AshleyYakeley/open-witness
bug-reports:    https://github.com/AshleyYakeley/open-witness/issues
synopsis:       open witnesses
description:
    Open witnesses are witnesses that can witness to any type. However, they cannot be constructed, they can only be generated in the IO monad.
    See the paper /Witnesses and Open Witnesses/ (<http://semantic.org/stuff/Open-Witnesses.pdf>).
category:       Data
build-type:     Simple

library
    hs-source-dirs: src
    default-language: Haskell2010
    default-extensions:
        MultiParamTypeClasses
        RankNTypes
        FlexibleContexts
        TypeOperators
        FlexibleInstances
        EmptyDataDecls
        KindSignatures
        TemplateHaskell
        GeneralizedNewtypeDeriving
        GADTs
        ScopedTypeVariables
        TypeInType
        ConstraintKinds
        UndecidableInstances
    build-depends:
        base >= 4.9.1 && < 5,
        random,
        template-haskell,
        transformers,
        hashable,
        constraints,
        witness == 0.4
    exposed-modules:
        Data.Type.Heterogeneous
        Data.OpenWitness
        Data.OpenWitness.TypeRep
        Data.OpenWitness.Typeable
        Data.OpenWitness.Dynamic
        Data.OpenWitness.Exception
        Data.OpenWitness.ST
        Data.OpenWitness.Instance
    ghc-options: -Wall

test-suite tests
    type: exitcode-stdio-1.0
    hs-source-dirs: test
    default-language: Haskell2010
    default-extensions:
        RankNTypes
        EmptyDataDecls
        GeneralizedNewtypeDeriving
        ScopedTypeVariables
        GADTs
        FlexibleContexts
        MultiParamTypeClasses
        TemplateHaskell
    build-depends:
        base,
        mtl,
        witness,
        open-witness,
        tasty,
        tasty-hunit
    main-is: Main.hs
    other-modules:
        Object