Model.Make
module M : sig ... end
type t
A value of type t represents an immutable model of a stack of states
t
val create : int -> unit -> t
create n () creates a model with n initial elements
create n ()
n
val size : t -> int
size t returns the number of elements in the model t
size t
val drop_n : t -> int -> t
drop_n t n returns a new model with the n uppermost elements removed
drop_n t n
val push : t -> M.elt -> t
push t e returns a new model with e as the topmost element
push t e
e
val get : t -> int -> M.elt
get t n returns the nth element of the model t
get t n