| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Microgroove.Lib.TypeLevel
- 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
Equations
| 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