typelits-witnesses
Version 0.3.0.1 revision 1 uploaded by Bodigrim.
Package meta
- Synopsis
- Existential witnesses, singletons, and classes for operations on GHC TypeLits
- Description
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 GHCKnownNat (n + 3)
, orKnownNat (2*n + 4)
, or when constraints on the lower or upper limits ofn
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 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.
- Author
- Justin Le
- Bug reports
- n/a
- Category
- Data
- Copyright
- (c) Justin Le 2018
- Homepage
- https://github.com/mstksg/typelits-witnesses
- Maintainer
- justin@jle.im
- Package URL
- n/a
- Stability
- n/a