vinyl-0.7.0: 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 # 

Methods

(==) :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> Bool #

(/=) :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> Bool #

Ord t => Ord (ElField ((,) Symbol * s t)) Source # 

Methods

compare :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> Ordering #

(<) :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> Bool #

(<=) :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> Bool #

(>) :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> Bool #

(>=) :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> Bool #

max :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) #

min :: ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) -> ElField ((Symbol, *) s t) #

Show t => Show (ElField ((,) Symbol * s t)) Source # 

Methods

showsPrec :: Int -> ElField ((Symbol, *) s t) -> ShowS #

show :: ElField ((Symbol, *) s t) -> String #

showList :: [ElField ((Symbol, *) s t)] -> ShowS #

(KnownSymbol s, Storable t) => Storable (ElField ((,) Symbol * s t)) Source # 

Methods

sizeOf :: ElField ((Symbol, *) s t) -> Int #

alignment :: ElField ((Symbol, *) s t) -> Int #

peekElemOff :: Ptr (ElField ((Symbol, *) s t)) -> Int -> IO (ElField ((Symbol, *) s t)) #

pokeElemOff :: Ptr (ElField ((Symbol, *) s t)) -> Int -> ElField ((Symbol, *) s t) -> IO () #

peekByteOff :: Ptr b -> Int -> IO (ElField ((Symbol, *) s t)) #

pokeByteOff :: Ptr b -> Int -> ElField ((Symbol, *) s t) -> IO () #

peek :: Ptr (ElField ((Symbol, *) s t)) -> IO (ElField ((Symbol, *) s t)) #

poke :: Ptr (ElField ((Symbol, *) s t)) -> ElField ((Symbol, *) s t) -> IO () #

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

Eq (SField k a) Source # 

Methods

(==) :: SField k a -> SField k a -> Bool #

(/=) :: SField k a -> SField k a -> Bool #

Ord (SField k a) Source # 

Methods

compare :: SField k a -> SField k a -> Ordering #

(<) :: SField k a -> SField k a -> Bool #

(<=) :: SField k a -> SField k a -> Bool #

(>) :: SField k a -> SField k a -> Bool #

(>=) :: SField k a -> SField k a -> Bool #

max :: SField k a -> SField k a -> SField k a #

min :: SField k a -> SField k a -> SField k a #

KnownSymbol s => Show (SField (Symbol, k) ((,) Symbol k s t)) Source # 

Methods

showsPrec :: Int -> SField (Symbol, k) ((Symbol, k) s t) -> ShowS #

show :: SField (Symbol, k) ((Symbol, k) s t) -> String #

showList :: [SField (Symbol, k) ((Symbol, k) s t)] -> ShowS #