module Fold_map:A map that folds in new values.sig
..end
An example would be a multi-map in which a key is initialized with the empty
list as its value, and adding a new key/value pair appends the value to the
key's list.
module type Foldable =sig
..end
Fold_map.Make
module type S =sig
..end
Fold_map.Make
module Make:
fold_map
sexp_of
and of_sexp
functions. Requires the
passed in types to be sexpable.module type S_sexpable =sig
..end
module type Foldable_sexpable =sig
..end
module Make_sexpable:functor (
Fold
:
Foldable_sexpable
) ->
S_sexpable
with type in_value = Fold.data and type out_value = Fold.t
Polymorphic fold take a
module type Foldable2 =sig
..end
module type S2 =sig
..end
module Make2:
module type Foldable2_sexpable =sig
..end
module type S2_sexpable =sig
..end
module Make2_sexpable:
module Cons:S2_sexpable
with type 'a out_value = 'a list
module Add:S_sexpable
with type in_value = int and type out_value = int
module Multiply:S_sexpable
with type in_value = int and type out_value = int