package core_kernel

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

Callback_arity states the type of callbacks stored in a bus. Using Callback_arity is an implementation technique that allows callbacks to be defined as ordinary n-ary curried functions (e.g., a1 -> a2 -> a3 -> r), instead of forcing n-ary-variadic callbacks to use tuples (e.g., a1 * a2 * a3 -> r). This also avoids extra allocation.

When reading the bus interface, keep in mind that each 'callback is limited, through create, to the types exposed by the variants in Callback_arity.

Callback_arity states the type of callbacks stored in a bus. Using Callback_arity is an implementation technique that allows callbacks to be defined as ordinary n-ary curried functions (e.g., a1 -> a2 -> a3 -> r), instead of forcing n-ary-variadic callbacks to use tuples (e.g., a1 * a2 * a3 -> r). This also avoids extra allocation.

When reading the bus interface, keep in mind that each 'callback is limited, through create, to the types exposed by the variants in Callback_arity.

type _ t =
  1. | Arity1 : ('a -> Base.Unit.t) t
  2. | Arity2 : ('a -> 'b -> Base.Unit.t) t
  3. | Arity3 : ('a -> 'b -> 'c -> Base.Unit.t) t
  4. | Arity4 : ('a -> 'b -> 'c -> 'd -> Base.Unit.t) t
val sexp_of_t : ('v_x__001_ -> Ppx_sexp_conv_lib.Sexp.t) -> 'v_x__001_ t -> Ppx_sexp_conv_lib.Sexp.t