Package Info

ghc-typelits-witnesses


Existential witnesses, singletons, and classes for operations on GHC TypeLits


Development/Libraries/Haskell

Provides witnesses for 'KnownNat' and 'KnownSymbol' instances for various operations on GHC TypeLits - in particular, the arithmetic operations defined in "GHC.TypeLits", and also for type-level lists of 'KnownNat' and 'KnownSymbol' instances.

This is useful for situations where you have ''KnownNat' n', and you want to prove to GHC ''KnownNat' (n + 3)', or ''KnownNat' (2*n + 4)', or when constraints on the lower or upper limits of 'n' are needed.

It's also useful for when you want to work with type level lists of 'KnownNat' or 'KnownSymbol' instances and singletons for traversing them, and be able to apply analogies of 'natVal' and 'symbolVal' to lists with analogies for 'SomeNat' and 'SomeSymbol'.

Note that most of the functionality in this library can be reproduced in a more generic way using the great <https://hackage.haskell.org/package/singletons singletons> library. The versions here are provided as a "plumbing included" alternative that makes some commonly found design patterns involving GHC's TypeLits functionality a little smoother, especially when working with external libraries or GHC TypeLit's Nat comparison API.

See README for more information.


License: MIT
URL: https://hackage.haskell.org/package/typelits-witnesses

Categories

Releases

Package Version Update ID Released Package Hub Version Platforms Subpackages
0.2.3.0-bp150.2.3 info GA Release 2018-08-01 15
  • AArch64
  • ghc-typelits-witnesses
  • ghc-typelits-witnesses-devel
0.2.3.0-bp150.2.7 info GA Release 2018-07-31 15
  • ppc64le
  • ghc-typelits-witnesses
  • ghc-typelits-witnesses-devel
0.2.3.0-bp150.2.8 info GA Release 2018-07-30 15
  • x86-64
  • ghc-typelits-witnesses
  • ghc-typelits-witnesses-devel