constraint-tuples
Version 0.2 revision 0 uploaded by ryanglscott.
Package meta
- Synopsis
- Partially applicable constraint tuples
- Description
This library provides classes and type aliases that emulate the behavior of GHC's constraint tuple syntax. Unlike GHC's built-in constraint tuples, the types in this library can be partially applied.
This library exposes four different modules that provide essentially the same API with slight differences in their implementation:
Data.Tuple.Constraint: A
CTupleN
class compiles to a dictionary data type withN
fields. (When building with GHC 9.10 or later, this will simply re-export the constraint tuples offered by GHC.Classes.)Data.Tuple.Constraint.ClassNewtype: A
CTupleN
class compiles to a newtype around the corresponding built-in constraint tuple type withN
arguments.Data.Tuple.Constraint.TypeFamily: A
CTupleN
type alias is a constraint tuple type constructor withN
arguments obtained by way of a type family. This will compile to a built-in constraint tuple, but casted with a type family axiom.Data.Tuple.Constraint.TypeSynonym: A
CTupleN
type alias is a constraint tuple type constructor withN
arguments obtained by way of a type synonym. This will compile directly to a built-in constraint tuple.
- Author
- Ryan Scott
- Bug reports
- https://github.com/RyanGlScott/constraint-tuples/issues
- Category
- Data
- Copyright
- (C) 2018-2019 Ryan Scott
- Homepage
- https://github.com/RyanGlScott/constraint-tuples
- Maintainer
- ryan.gl.scott@gmail.com
- Package URL
- n/a
- Stability
- Stable