Module Gist.Cell_like

Cell likes for gist processors.

Cell modules

module type S = S

Cell interface.

type ('a, 'cell) module' = (module S with type contents = 'a and type t = 'cell)

The type for cell modules.

Cell likes

type ('a, 'cell) t =
  1. | Lazy : 'a gist -> ('a, 'a lazy_t) t
  2. | Ref : 'a gist -> ('a, 'a Stdlib.ref) t
  3. | Atomic : 'a gist -> ('a, 'a Stdlib.Atomic.t) t
  4. | Module : 'a gist * ('a, 'cell) module' -> ('a, 'cell) t

The type for representing cell like types with contents of type 'a.

val contents : ('a, 'cell) t -> 'a gist

contents c is the representation of the contents of c.

val to_module : ('a, 'cell) t -> ('a, 'cell) module'

to_module c is a cell module for c.