CanonValue.Stack
include PulseBaseStack.S
with type value = needs_canon * Pulselib.PulseBasicInterface.ValueHistory.t
and type t = PulseBaseStack.t
include IStdlib.PrettyPrintable.PPMonoMap
with type key = IR.Var.t
with type value = needs_canon * Pulselib.PulseBasicInterface.ValueHistory.t
with type t = PulseBaseStack.t
include IStdlib.PrettyPrintable.MonoMap
with type key = IR.Var.t
with type value = needs_canon * Pulselib.PulseBasicInterface.ValueHistory.t
with type t = PulseBaseStack.t
type key = IR.Var.t
type value = needs_canon * Pulselib.PulseBasicInterface.ValueHistory.t
type t = PulseBaseStack.t
val empty : t
val is_empty : t -> bool
val cardinal : t -> int
val is_singleton_or_more :
t ->
(key * value) IStdlib.IContainer.singleton_or_more
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pp_key : IStdlib.PrettyPrintable.F.formatter -> key -> unit
val add :
IR.Var.t ->
(Pulselib.PulseBasicInterface.AbstractValue.t
* Pulselib.PulseBasicInterface.ValueHistory.t) ->
t ->
t