Safe Haskell | None |
---|---|
Language | Haskell2010 |
Memory layout
Describe a memory region
Synopsis
- type family LayoutPathType l p :: *
- type family LayoutPathOffset l p :: Nat
- type LayoutRoot = LayoutPath '[]
- data LayoutPath (path :: [*]) = LayoutPath
- data LayoutIndex (n :: Nat) = LayoutIndex
- data LayoutSymbol (s :: Symbol) = 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
Instances
type LayoutPathType l (LayoutPath ([] :: [Type])) Source # | |
Defined in Haskus.Format.Binary.Layout |
type family LayoutPathOffset l p :: Nat Source #
Offset obtained when following path p
Instances
type LayoutPathOffset e (LayoutPath ([] :: [Type])) Source # | |
Defined in Haskus.Format.Binary.Layout |
type LayoutRoot = LayoutPath '[] Source #
data LayoutPath (path :: [*]) Source #
Path in a layout
Instances
type LayoutPathOffset e (LayoutPath ([] :: [Type])) Source # | |
Defined in Haskus.Format.Binary.Layout | |
type LayoutPathType l (LayoutPath ([] :: [Type])) Source # | |
Defined in Haskus.Format.Binary.Layout |
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)) |