Module Lattice.LiftBot

Parameters

module Base : S

Signature

include sig ... end
type t = [
  1. | `Bot
  2. | `Lifted of Base.t
]
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val hash : t -> int
val tag : 'a -> 'b
val arbitrary : unit -> 'a
val lift : 'a -> [> `Lifted of 'a ]
val show : [< `Bot | `Lifted of Base.t ] -> string
val pretty : unit -> t -> Printable.Pretty.doc
val name : unit -> string
val printXml : 'a BatInnerIO.output -> [< `Bot | `Lifted of Base.t ] -> unit
val to_yojson : [< `Bot | `Lifted of Base.t ] -> Yojson.Safe.t
val relift : [< `Bot | `Lifted of Base.t ] -> [> `Bot | `Lifted of Base.t ]
val bot : unit -> [> `Bot ]
val is_bot : [> `Bot ] -> bool
val top : unit -> [> `Lifted of Base.t ]
val is_top : [< `Bot | `Lifted of Base.t ] -> bool
val leq : [< `Bot | `Lifted of Base.t ] -> [< `Bot | `Lifted of Base.t ] -> bool
val pretty_diff : unit -> (t * t) -> Pretty.doc
val join : [< `Bot | `Lifted of Base.t Lifted ] as 'a -> 'b -> 'c
val meet : [< `Bot | `Lifted of Base.t ] -> [< `Bot | `Lifted of Base.t ] -> [> `Bot | `Lifted of Base.t ]
val widen : [> `Lifted of Base.t ] -> [> `Lifted of Base.t ] as 'a -> 'b
val narrow : [> `Bot | `Lifted of Base.t ] as 'a -> [> `Bot | `Lifted of Base.t ] -> 'b