Module Lattice_bounds.Bottom.Operators

module Operators: sig .. end

Operators


val (>>-) : [< 'a Lattice_bounds.Bottom.t ] ->
('a -> ([> 'b Lattice_bounds.Bottom.t ] as 'c)) -> 'c

This monad propagates `Bottom and or `Top if needed.

val (>>-:) : [< 'a Lattice_bounds.Bottom.t ] ->
('a -> 'b) -> [> 'b Lattice_bounds.Bottom.t ]

Use this monad if the following function returns a simple value.

val let+ : [< 'a Lattice_bounds.Bottom.t ] ->
('a -> 'b) -> [> 'b Lattice_bounds.Bottom.t ]
val and+ : [< 'a Lattice_bounds.Bottom.t ] ->
[< 'b Lattice_bounds.Bottom.t ] -> [> ('a * 'b) Lattice_bounds.Bottom.t ]
val ( let* ) : [< 'a Lattice_bounds.Bottom.t ] ->
('a -> ([> 'b Lattice_bounds.Bottom.t ] as 'c)) -> 'c
val ( and* ) : [< 'a Lattice_bounds.Bottom.t ] ->
[< 'b Lattice_bounds.Bottom.t ] -> [> ('a * 'b) Lattice_bounds.Bottom.t ]