You are currently looking at the < v8.2.0 docs (Reason v3.6 syntax edition). You can find the latest API docs here.
(These docs cover all versions between v3 to v8 and are equivalent to the old BuckleScript docs before the rebrand)
MutableStack
First in last out stack. This module implements stacks, with in-place modification.
t
type t('a);
make
let make: unit => t('a);
Returns a new stack, initially empty.
clear
let clear: t('a) => unit;
Discard all elements from the stack.
copy
let copy: t('a) => t('a);
copy(x)
O(1) operation, return a new stack.
push
let push: (t('a), 'a) => unit;
popUndefined
let popUndefined: t('a) => Js.undefined('a);
pop
let pop: t('a) => option('a);
topUndefined
let topUndefined: t('a) => Js.undefined('a);
top
let top: t('a) => option('a);
isEmpty
let isEmpty: t('a) => bool;
size
let size: t('a) => int;
forEachU
let forEachU: (t('a), [@bs] ('a => unit)) => unit;
forEach
let forEach: (t('a), 'a => unit) => unit;
dynamicPopIterU
let dynamicPopIterU: (t('a), [@bs] ('a => unit)) => unit;
dynamicPopIter
let dynamicPopIter: (t('a), 'a => unit) => unit;
dynamicPopIter(s, f)
apply f
to each element of s
. The item is poped before applying f
, s
will be empty after this opeartion. This function is useful for worklist algorithm.