Module Alloc.Const
include Mode_intf.Const
with type t =
(Mode.Locality.Const.t,
Mode.Linearity.Const.t,
Mode.Uniqueness.Const.t,
Mode.Portability.Const.t,
Mode.Contention.Const.t,
Mode.Forkable.Const.t,
Mode.Yielding.Const.t,
Mode.Statefulness.Const.t,
Mode.Visibility.Const.t,
Mode.Staticity.Const.t)
Mode.Alloc.modes
include Mode_intf.Lattice
with type t =
(Mode.Locality.Const.t,
Mode.Linearity.Const.t,
Mode.Uniqueness.Const.t,
Mode.Portability.Const.t,
Mode.Contention.Const.t,
Mode.Forkable.Const.t,
Mode.Yielding.Const.t,
Mode.Statefulness.Const.t,
Mode.Visibility.Const.t,
Mode.Staticity.Const.t)
Mode.Alloc.modes
val min : Mode.Alloc.Const.tval max : Mode.Alloc.Const.tval le : Mode.Alloc.Const.t -> Mode.Alloc.Const.t -> boolval equal : Mode.Alloc.Const.t -> Mode.Alloc.Const.t -> boolequal a b is equivalent to le a b && le b a, but defined separately for performance reasons
val join : Mode.Alloc.Const.t -> Mode.Alloc.Const.t -> Mode.Alloc.Const.tval meet : Mode.Alloc.Const.t -> Mode.Alloc.Const.t -> Mode.Alloc.Const.tval print : Stdlib.Format.formatter -> Mode.Alloc.Const.t -> unitval legacy : Mode.Alloc.Const.tmodule Option : sig ... endval is_max : 'a Mode.Alloc.Axis.t -> 'a -> boolval is_min : 'a Mode.Alloc.Axis.t -> 'a -> boolval diff :
Mode.Alloc.Const.t ->
Mode.Alloc.Const.t ->
Mode.Alloc.Const.Option.tdiff a b returns None for axes where a and b match, and Some a0 for axes where a is a0 and b isn't.
val close_over : Mode.Alloc.Const.t -> Mode.Alloc.Comonadic.Const.tSimilar to Alloc.close_over but for constants
val partial_apply : Mode.Alloc.Const.t -> Mode.Alloc.Comonadic.Const.tSimilar to Alloc.partial_apply but for constants
val comonadic_to_monadic_min :
Mode.Alloc.Comonadic.Const.t ->
Mode.Alloc.Monadic.Const.tSimilar to comonadic_to_monadic_min but for constants
val print_axis : 'a Mode.Alloc.Axis.t -> Stdlib.Format.formatter -> 'a -> unitPrints a constant on any axis.