The kinds package

[Tags: bsd3, library]

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.


Properties

Versions0.0.0.0, 0.0.1.0, 0.0.1.1, 0.0.1.2, 0.0.1.4, 0.0.1.5
Dependenciesbase (>=3.0 && <4.4)
LicenseBSD3
Copyright© 2009–2010 Brandenburgische Technische Universität Cottbus; © 2011 Wolfgang Jeltsch
AuthorWolfgang Jeltsch
Maintainerwolfgang@cs.ioc.ee
Stabilityprovisional
CategoryType System
Home pagehttp://darcs.wolfgang.jeltsch.info/haskell/kinds
Source repositoryhead: darcs get http://darcs.wolfgang.jeltsch.info/haskell/kinds/main
this: darcs get http://darcs.wolfgang.jeltsch.info/haskell/kinds/main --tag kinds-0.0.1.4
UploadedMon Oct 31 15:19:14 UTC 2011 by WolfgangJeltsch
Downloads558 total (43 in last 30 days)
StatusDocs pending
Build status unknown [no reports yet]

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees