Module Stack_intf

module Stack_intf: sig .. end
An interface for stacks that follows Core's conventions, as opposed to OCaml's standard Stack module.


An interface for stacks that follows Core's conventions, as opposed to OCaml's standard Stack module.
module type S = sig .. end

An interface for stacks that follows Core's conventions, as opposed to OCaml's standard Stack module.

fold, iter, find, and find_map visit the elements in order from the top of the stack to the bottom. to_list and to_array return the elements in order from the top of the stack to the bottom.

of_list l returns a stack whose top is the first element of l and bottom is the last element of l.

create () returns an empty stack.

push t a adds a to the top of stack t.

pop t removes and returns the top element of t as Some a, or returns None if t is empty.

top t returns Some a, where a is the top of t, unless is_empty t, in which case top returns None.

clear t discards all elements from t.

copy t returns a copy of t.

until_empty t f repeatedly pops an element a off of t and runs f a, until t becomes empty. It is fine if f adds more elements to t, in which case the most-recently-added element will be processed next.