Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.Generics.Internal.Families.Changing
Synopsis
- type Indexed (t :: k) = Indexed' t 0
- type family Infer s a' b where ...
- data PTag = PTag
- type family P :: Nat -> k -> PTag -> k
- type family LookupParam (a :: k) (p :: Nat) :: Maybe Nat where ...
- type family ArgAt (t :: k) (n :: Nat) :: j where ...
- type family ArgCount (t :: k) :: Nat where ...
- class UnifyHead (a :: k) (b :: k)
Documentation
type family LookupParam (a :: k) (p :: Nat) :: Maybe Nat where ... #
Equations
LookupParam (param n :: k) m = 'Nothing :: Maybe Nat | |
LookupParam (a (_1 m) :: k2) n = IfEq m n ('Just 0) (MaybeAdd (LookupParam a n) 1) | |
LookupParam (a _1 :: k2) n = MaybeAdd (LookupParam a n) 1 | |
LookupParam (a :: k) _1 = 'Nothing :: Maybe Nat |
class UnifyHead (a :: k) (b :: k) #
Ensure that the types a
and b
are both applications of the same
constructor. The arguments may be different.
Instances
a ~ b => UnifyHead (a :: k) (b :: k) # | |
Defined in Data.Generics.Internal.Families.Changing | |
(gb ~ g b, UnifyHead f g) => UnifyHead (f a :: k1) (gb :: k1) # | |
Defined in Data.Generics.Internal.Families.Changing |