kinds: Emulation of subkinds and subkind polymorphism
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.
Downloads
- kinds-0.0.1.5.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 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 && <5) [details] |
Tested with | ghc ==7.0.4 |
License | BSD-3-Clause |
Copyright | © 2009–2010 Brandenburgische Technische Universität Cottbus; © 2011–2012 Wolfgang Jeltsch |
Author | Wolfgang Jeltsch |
Maintainer | wolfgang@cs.ioc.ee |
Category | Type System |
Home page | http://darcs.wolfgang.jeltsch.info/haskell/kinds |
Source repo | head: 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.5 |
Uploaded | by WolfgangJeltsch at 2012-01-15T18:12:55Z |
Distributions | NixOS:0.0.1.5 |
Reverse Dependencies | 5 direct, 0 indirect [details] |
Downloads | 4561 total (21 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |