packages feed

witness-0.3: witness.cabal

cabal-version:  >=1.14
name:           witness
version:        0.3
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/witness
bug-reports:    https://github.com/AshleyYakeley/witness/issues
synopsis:       values that witness types
description:
    A witness is a value that /witnesses/ some sort of constraint on some list of type variables.
    This library provides support for simple witnesses, that constrain a type variable to a single type, and equality witnesses, that constrain two type variables to be the same type.
    It also provides classes for representatives, which are values that represent types.
    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: Haskell98
    default-extensions:
        MultiParamTypeClasses
        RankNTypes
        FlexibleContexts
        TypeOperators
        FlexibleInstances
        EmptyDataDecls
        KindSignatures
        TypeFamilies
        GADTs
        PolyKinds
        DataKinds
        ScopedTypeVariables
        PatternGuards
    build-depends:
        base == 4.*,
        transformers >=0.3,
        categories == 1.0.*,
        constraints >= 0.3
    exposed-modules:
        Data.Witness.Any
        Data.Witness.WitnessDict
        Data.Witness.WitnessFDict
        Data.Witness.Nat
        Data.Witness.ListElement
        Data.Witness.List
        Data.Witness.Representative
        Data.Witness
    ghc-options: -Wall