| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Haskus.Format.Binary.Layout
Description
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
Instances
| type LayoutPathType l (LayoutPath ([] *)) Source # | |
type family LayoutPathOffset l p :: Nat Source #
Offset obtained when following path p
Instances
| type LayoutPathOffset e (LayoutPath ([] *)) Source # | |
type LayoutRoot = LayoutPath '[] Source #
data LayoutPath path Source #
Path in a layout
Constructors
| LayoutPath |
Instances
| 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 #
Equations
| (LayoutPath xs) :-> s = LayoutPath (Snoc xs (LayoutSymbol s)) |
type family p :#> (n :: Nat) where ... Source #
Equations
| (LayoutPath xs) :#> n = LayoutPath (Snoc xs (LayoutIndex n)) |