vinyl-0.5.2: Extensible Records

Safe HaskellNone
LanguageHaskell2010

Data.Vinyl.Derived

Synopsis

Documentation

data ElField field where Source

Constructors

Field :: KnownSymbol s => !t -> ElField `(s, t)` 

Instances

Eq t => Eq (ElField ((,) Symbol * s t)) Source 
Ord t => Ord (ElField ((,) Symbol * s t)) Source 
Show t => Show (ElField ((,) Symbol * s t)) Source 
(KnownSymbol s, Storable t) => Storable (ElField ((,) Symbol * s t)) Source 

getField :: ElField `(s, t)` -> t Source

Get the data payload of an ElField.

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.

data SField field Source

A proxy for field types.

Constructors

SField 

Instances