witness-0.3.0.1: witness.cabal
cabal-version: >=1.14
name: witness
version: 0.3.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/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.7 && < 5,
transformers,
categories,
constraints
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