Safe Haskell | None |
---|---|
Language | Haskell2010 |
The HList library
(C) 2004, Oleg Kiselyov, Ralf Laemmel, Keean Schupke
Generic type equality predicate: The implementation based on overlapping instances The only place where overlapping instances are really used besides Label5
Documentation
class TupleType (t :: *) (b :: Bool) | t -> b Source #
Instances
TupleType () 'True Source # | |
Defined in Data.HList.TypeEqO | |
'False ~ b => TupleType x b Source # | |
Defined in Data.HList.TypeEqO | |
TupleType (x, y) 'True Source # | |
Defined in Data.HList.TypeEqO | |
TupleType (x, y, z) 'True Source # | |
Defined in Data.HList.TypeEqO |
class IsKeyFN (t :: *) (flag :: Bool) | t -> flag Source #
All our keywords must be registered
Instances
'False ~ flag => IsKeyFN t flag Source # | overlapping/fallback case |
Defined in Data.HList.TypeEqO | |
IsKeyFN (Label s -> a -> b) 'True Source # | labels that impose no restriction on the type of the (single) argument which follows
|
Defined in Data.HList.Keyword | |
r ~ (c -> b) => IsKeyFN (K s c -> r) 'True Source # | The purpose of this instance is to be able to use the same Symbol
(type-level string) at different types. If they are supposed to be the same,
then use
therefore the following options works:
But you cannot leave off all |
Defined in Data.HList.Keyword |