@hackage type-eq0.1
Type equality evidence you can carry around
Categories
License
BSD-3-Clause
Maintainer
Gábor Lehel <illissius@gmail.com>
Links
Versions
Installation
Dependencies (3)
- base >=3.0 && <4.6
- groupoids >=0.1 && <0.3
- semigroupoids >=1.0 && <1.4 Show all…
Dependents (4)
@hackage/superconstraints, @hackage/haskell-names, @hackage/acme-everything, @hackage/fay
This package provides types and combinators to store and manipulate evidence of equality between types.
To take advantage of kind-polymorphism when it is available but not require it, this it is split into the following primary modules:
Type.Eq: Types and combinators which can be kind-polymorphic ifPolyKindsare available, but are specific to kind*otherwise.Type.Eq.Higher: Kind-monomorphic types and combinators of higher kind, up to* -> * -> *.Type.Eq.Poly: Combinators that require kind-polymorphism. This module is only available ifPolyKindsare available.
Support for kind-polymorphism first appeared with GHC 7.4, but because it is too buggy to be practical, it will only be enabled with GHC 7.6.
Major required extensions: GADTs, TypeFamilies (for ~), Rank2Types, TypeOperators
Optional extensions: PolyKinds (GHC 7.6+)
Minimum GHC: 6.10
Related packages: