package core_extended

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

A map that folds in new values.

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

Input signature of the functor Make

module type S = sig ... end

Output signature of the functor Make

module Make (Fold : Foldable) : S with type in_value = Fold.data and type out_value = Fold.t

Builds a fold_map

Sexpable interface

Same as above but builds the 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

Polymorphic folds

Polymorphic fold take a

module type Foldable2 = sig ... end
module type S2 = sig ... end
module Make2 (Fold : Foldable2) : S2 with type 'a out_value = 'a Fold.t
Sexpable interface
module type Foldable2_sexpable = sig ... end
module type S2_sexpable = sig ... end

Predefined modules

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

A fold for adding. e.g. symbol positions

module Multiply : S_sexpable with type in_value = int and type out_value = int
OCaml

Innovation. Community. Security.