Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type 'a applicative = 'a t
module Make_creator_types : sig ... end
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 use field
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).