package lsp

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

Endofunctions, i.e., functions of type t -> t form the following monoid:

  • empty = fun x -> x
  • combine f g = fun x -> f (g x)

Parameters

module A : sig ... end

Signature

type t = A.t -> A.t
val empty : t

Must be the identity of combine:

  • combine empty t = t
  • combine t empty = t
val combine : t -> t -> t

Must be associative:

  • combine a (combine b c) = combine (combine a b) c
module O : sig ... end
val reduce : t list -> t
val map_reduce : f:('a -> t) -> 'a list -> t
OCaml

Innovation. Community. Security.