The
class and basic operations.
Field
Record fields.
Instances of this class can be combined with the functions and operators in this package.
The source type of the field. I.e. the record type.
The destination type of the field. I.e. the type of the field in question.
(r ~ Src f, Field f) => Field (:-> r a, f) | |
Field (:-> a b) | |
Field (:-> r a, :-> r b, :-> r c) | |
Field (:-> r a, :-> r b, :-> r c, :-> r d) | |
Field (:-> r a, :-> r b, :-> r c, :-> r d, :-> r e) | |
Field (:-> r a, :-> r b, :-> r c, :-> r d, :-> r e, :-> r f) | |
Field (:-> r a, :-> r b, :-> r c, :-> r d, :-> r e, :-> r f, :-> r g) | |
Field (:-> r a, :-> r b, :-> r c, :-> r d, :-> r e, :-> r f, :-> r g, :-> r h) | |
Field (:-> r a, :-> r b, :-> r c, :-> r d, :-> r e, :-> r f, :-> r g, :-> r h, :-> r i) | |
Field (:-> r a, :-> r b, :-> r c, :-> r d, :-> r e, :-> r f, :-> r g, :-> r h, :-> r i, :-> r j) |
Basic field operators.
(=:) :: Field a => a -> Dst a -> Src a :-> Src aSource
Infix assignment lookalike.
r.#f =: v
returns a modified version of r
so that the field corresponding to
f
are set to v
.
(=~) :: Field a => a -> (Dst a -> Dst a) -> Src a :-> Src aSource
Infix modification lookalike.
r.#f =~ g
returns a modified version of r
so that the fields corresponding to
f
are modified with the function g
.