type-eq-0.2: type-eq.cabal
name: type-eq
category: Type System
version: 0.2
author: Gábor Lehel
maintainer: Gábor Lehel <illissius@gmail.com>
homepage: http://github.com/glehel/type-eq
copyright: Copyright (C) 2012 Gábor Lehel
license: BSD3
license-file: LICENSE
stability: experimental
cabal-version: >= 1.10
build-type: Simple
synopsis: Type equality evidence you can carry around
description:
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, it is split into the following primary modules:
.
- @/Type.Eq/@: Types and combinators which can be kind-polymorphic if @PolyKinds@ are 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 if @PolyKinds@ are available.
.
Major required extensions: @GADTs@, @TypeFamilies@ (for @~@), @Rank2Types@, @TypeOperators@
.
Optional extensions: @PolyKinds@ (GHC 7.6+)
.
Minimum GHC: 6.10
.
Related packages:
.
- <http://hackage.haskell.org/package/type-equality>
.
- <http://hackage.haskell.org/package/eq>
.
- <http://hackage.haskell.org/package/ty>
.
- <http://hackage.haskell.org/package/dependent-sum>
.
- <http://hackage.haskell.org/package/categories> (@Data.Category.Discrete@)
extra-source-files: macros.h
source-repository head
type: git
location: git://github.com/glehel/type-eq.git
library
default-language:
Haskell98
other-extensions:
CPP
GADTs
Rank2Types
TypeFamilies
TypeOperators
KindSignatures
FlexibleContexts
build-depends:
base >= 3.0 && < 4.7
exposed-modules:
Type.Eq
Type.Eq.Unsafe
Type.Eq.Higher
Type.Eq.Higher.Unsafe
-- DeriveDataTypeable and PolyKinds sadly don't mix
-- if impl(ghc)
-- cpp-options: -DHAVE_TYPEABLE
-- other-extensions: DeriveDataTypeable
-- Ran into dependency problems with 6.10 and 6.12 and didn't feel like dealing with it
if impl(ghc >= 7.0)
cpp-options: -DHAVE_DEPENDENCIES
build-depends:
-- Semigroupoid
semigroupoids >= 1.0 && < 3.1,
-- Groupoid
groupoids >= 0.1 && < 3.1
-- Tensor
-- data-lens >= 2.9 && < 2.11
if impl(ghc >= 7.2)
other-extensions: Trustworthy
if impl(ghc >= 7.6)
exposed-modules: Type.Eq.Poly
-- other-extensions: PolyKinds, Unsafe
include-dirs: .
ghc-options:
-Wall