Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data ElField field where
- Field :: KnownSymbol s => !t -> ElField `(s, t)`
- type FieldRec = Rec ElField
- type HList = Rec Identity
- type LazyHList = Rec Thunk
- getField :: ElField `(s, t)` -> t
- fieldMap :: (a -> b) -> ElField `(s, a)` -> ElField `(s, b)`
- rfield :: Functor f => (a -> f b) -> ElField `(s, a)` -> f (ElField `(s, b)`)
- (=:) :: KnownSymbol s => proxy `(s, a)` -> a -> FieldRec `[`(s, a)`]`
- data SField field = SField
Documentation
data ElField field where Source
Field :: KnownSymbol s => !t -> ElField `(s, t)` |
fieldMap :: (a -> b) -> ElField `(s, a)` -> ElField `(s, b)` Source
ElField
is isomorphic to a functor something like Compose
ElField ('(,) s)
.
rfield :: Functor f => (a -> f b) -> ElField `(s, a)` -> f (ElField `(s, b)`) Source
Lens for an ElField'
s data payload.
(=:) :: KnownSymbol s => proxy `(s, a)` -> a -> FieldRec `[`(s, a)`]` Source
Shorthand for a FieldRec
with a single field.