Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Memory layout
Describe a memory region
- type family LayoutPathType l p :: *
- type family LayoutPathOffset l p :: Nat
- type LayoutRoot = LayoutPath '[]
- data LayoutPath path = LayoutPath
- data LayoutIndex n = LayoutIndex
- data LayoutSymbol s = LayoutSymbol
- layoutIndex :: forall n. LayoutPath '[LayoutIndex n]
- layoutSymbol :: forall s. LayoutPath '[LayoutSymbol s]
- type family p :-> (s :: Symbol) where ...
- type family p :#> (n :: Nat) where ...
Documentation
type family LayoutPathType l p :: * Source #
Type obtained when following path p
type LayoutPathType l (LayoutPath ([] *)) Source # | |
type family LayoutPathOffset l p :: Nat Source #
Offset obtained when following path p
type LayoutPathOffset e (LayoutPath ([] *)) Source # | |
type LayoutRoot = LayoutPath '[] Source #
data LayoutPath path Source #
Path in a layout
type LayoutPathOffset e (LayoutPath ([] *)) Source # | |
type LayoutPathType l (LayoutPath ([] *)) Source # | |
layoutIndex :: forall n. LayoutPath '[LayoutIndex n] Source #
Index in the layout path
layoutSymbol :: forall s. LayoutPath '[LayoutSymbol s] Source #
Symbol in the layout path
type family p :-> (s :: Symbol) where ... Source #
(LayoutPath xs) :-> s = LayoutPath (Snoc xs (LayoutSymbol s)) |
type family p :#> (n :: Nat) where ... Source #
(LayoutPath xs) :#> n = LayoutPath (Snoc xs (LayoutIndex n)) |