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 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).