jon.recoil.org

Module Crossing.ComonadicSource

Sourcemodule Atom : sig ... end
Sourcetype t

The mode crossing capability on the whole comonadic fragment.

include Mode_intf.Lattice with type t := t
Sourceval min : t
Sourceval max : t
Sourceval le : t -> t -> bool
Sourceval equal : t -> t -> bool

equal a b is equivalent to le a b && le b a, but defined separately for performance reasons

Sourceval join : t -> t -> t
Sourceval meet : t -> t -> t
Sourceval create : regionality:Regionality.Const.t Atom.t -> linearity:Linearity.Const.t Atom.t -> portability:Portability.Const.t Atom.t -> forkable:Forkable.Const.t Atom.t -> yielding:Yielding.Const.t Atom.t -> statefulness:Statefulness.Const.t Atom.t -> t

Create a mode crossing on the comonadic fragment from the collection of mode crossings on each comonadic axes.

Sourceval always_constructed_at : Value.Comonadic.Const.t -> t

Create the mode crossing for a type whose values are always constructed at the given mode.