kinds: Emulation of subkinds and subkind polymorphism

[ bsd3, library, type-system ] [ Propose Tags ]

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.

Versions [faq] 0.0.0.0, 0.0.1.0, 0.0.1.1, 0.0.1.2, 0.0.1.4, 0.0.1.5
Dependencies base (>=3.0 && <4.1) [details]
License BSD-3-Clause
Copyright © 2009–2010 Brandenburgische Technische Universität Cottbus
Author Wolfgang Jeltsch
Maintainer jeltsch@tu-cottbus.de
Category Type System
Home page http://community.haskell.org/~jeltsch/kinds/
Bug tracker jeltsch@tu-cottbus.de
Uploaded by WolfgangJeltsch at 2010-03-28T00:36:25Z
Distributions NixOS:0.0.1.5
Downloads 3828 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees