kinds-0.0.1.4: kinds.cabal
Name: kinds
Version: 0.0.1.4
Cabal-Version: >= 1.6
Build-Type: Simple
License: BSD3
License-File: LICENSE
Copyright: © 2009–2010 Brandenburgische Technische Universität Cottbus; © 2011 Wolfgang Jeltsch
Author: Wolfgang Jeltsch
Maintainer: wolfgang@cs.ioc.ee
Stability: provisional
Homepage: http://darcs.wolfgang.jeltsch.info/haskell/kinds
Package-URL: http://hackage.haskell.org/packages/archive/kinds/0.0.1.4/kinds-0.0.1.4.tar.gz
Synopsis: Emulation of subkinds and subkind polymorphism
Description: Subkinds are the kind-level analog to subtypes. A kind denotes a set of types, and a
subkind of some base kind denotes a subset of the base kind’s set of types.
Haskell has no support for subkinds and subkind polymorphism. However, this package
can be used to emulate subkinds of kind @*@ and subkind variables.
.
To define a new subkind, the user declares a type that represents the subkind, and
instantiates some classes. Afterwards, the user can declare types to be of that
subkind and universally quantify over the inhabitants of the subkind. Since subkinds
are represented by types, type-level polymorphism can be used to emulate kind-level
polymorphism.
.
For detailed information, please refer to Section 6 of the paper
/Generic Record Combinators with Static Type Checking/.
Category: Type System
Tested-With: GHC == 7.0.4
Source-Repository head
type: darcs
location: http://darcs.wolfgang.jeltsch.info/haskell/kinds/main
Source-Repository this
type: darcs
location: http://darcs.wolfgang.jeltsch.info/haskell/kinds/main
tag: kinds-0.0.1.4
Library
Build-Depends: base >= 3.0 && < 4.4
Extensions: FlexibleInstances
MultiParamTypeClasses
Rank2Types
TypeFamilies
Exposed-Modules: Data.Kind
HS-Source-Dirs: src