Module Crossing.Comonadic
module Atom : sig ... endinclude Ocaml_typing.Mode_intf.Lattice
with type t := Ocaml_typing.Mode.Crossing.Comonadic.t
val min : Ocaml_typing.Mode.Crossing.Comonadic.tval max : Ocaml_typing.Mode.Crossing.Comonadic.tval le :
Ocaml_typing.Mode.Crossing.Comonadic.t ->
Ocaml_typing.Mode.Crossing.Comonadic.t ->
boolval equal :
Ocaml_typing.Mode.Crossing.Comonadic.t ->
Ocaml_typing.Mode.Crossing.Comonadic.t ->
boolequal a b is equivalent to le a b && le b a, but defined separately for performance reasons
val print :
Stdlib.Format.formatter ->
Ocaml_typing.Mode.Crossing.Comonadic.t ->
unitval create :
regionality:
Ocaml_typing.Mode.Regionality.Const.t
Ocaml_typing.Mode.Crossing.Comonadic.Atom.t ->
linearity:
Ocaml_typing.Mode.Linearity.Const.t
Ocaml_typing.Mode.Crossing.Comonadic.Atom.t ->
portability:
Ocaml_typing.Mode.Portability.Const.t
Ocaml_typing.Mode.Crossing.Comonadic.Atom.t ->
forkable:
Ocaml_typing.Mode.Forkable.Const.t
Ocaml_typing.Mode.Crossing.Comonadic.Atom.t ->
yielding:
Ocaml_typing.Mode.Yielding.Const.t
Ocaml_typing.Mode.Crossing.Comonadic.Atom.t ->
statefulness:
Ocaml_typing.Mode.Statefulness.Const.t
Ocaml_typing.Mode.Crossing.Comonadic.Atom.t ->
Ocaml_typing.Mode.Crossing.Comonadic.tCreate a mode crossing on the comonadic fragment from the collection of mode crossings on each comonadic axes.
val always_constructed_at :
Ocaml_typing.Mode.Value.Comonadic.Const.t ->
Ocaml_typing.Mode.Crossing.Comonadic.tCreate the mode crossing for a type whose values are always constructed at the given mode.