Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type family All (c :: u -> Constraint) (xs :: [u]) :: Constraint where ...
- type family AllF (c :: * -> Constraint) (f :: u -> *) (xs :: [u]) :: Constraint where ...
- class KnownNats ns where
- intVal :: forall n. KnownNat n => Int
- type family Length (xs :: [u]) :: Nat where ...
- type family SubList# (ns :: [Nat]) (xs :: [u]) :: [u] where ...
- type family Replicate (n :: Nat) (x :: u) :: [u] where ...
- type family SetAt n xs x where ...
- type family (xs :: [u]) !! (n :: Nat) where ...
- type family (as :: [k]) ++ (bs :: [k]) where ...
Constraints
type family All (c :: u -> Constraint) (xs :: [u]) :: Constraint where ... Source #
All c xs
holds if c x
holds for all x
in xs
type family AllF (c :: * -> Constraint) (f :: u -> *) (xs :: [u]) :: Constraint where ... Source #
AllF c f xs
holds if c (f x)
holds for all x
in xs
Naturals
Type List operations
type family SubList# (ns :: [Nat]) (xs :: [u]) :: [u] where ... Source #
Take a sublist of xs
given by the indicies in ns.
ns@ must be in ascending order, but this is not checked
SubList# ns xs = SubList' ns xs 0 |
type family Replicate (n :: Nat) (x :: u) :: [u] where ... Source #
Extend a type x
into a type level list xs
of length n