Module Record_builder.Make
Parameters
Signature
type 'a applicative
= 'a F.t
module Make_creator_types : Make_creator_types
The types used internally for building records by folding over fields — you shouldn't need to know them, but they must be exposed to allow type-checking to succeed.
val field : 'field applicative -> ('record, 'field) Base.Field.t -> ('field, _, _, _) Make_creator_types.handle_one_field
Supply the term for one field.
The type of this function is designed to match up with
Fields.make_creator
(see the example).
val build_for_record : ('record, _, _) Make_creator_types.handle_all_fields -> 'record applicative
Build the overarching applicative for the whole record.
This takes a partial application of
Fields.make_creator
as its argument, which should supply no initial value but usefield
to supply a term for every field of the record.The type of this is designed to match up with
Fields.make_creator
(see the example).