Quick Links
  • -Overview
  • -Language Features
  • -JS Interop
  • -Build System
Documentation
Language Manual
Reference for all language features
ReScript & React
First class bindings for ReactJS
GenType
Seamless TypeScript integration
Reanalyze
Dead Code & Termination analysis
Exploration
Packages
Explore third party libraries and bindings
Syntax Lookup
Discover all syntax constructs
APIPlaygroundBlogCommunity
  • Playground
  • Blog
  • Twitter
  • GitHub
  • Forum
Belt Stdlib
Overview
  • Introduction
Basics
  • Array
  • List
  • Float
  • Int
  • Range
  • Id
  • Option
  • Result
Set
  • HashSet
  • HashSetInt
  • HashSetString
  • Set
  • SetDict
  • SetInt
  • SetString
Map
  • HashMap
  • HashMapInt
  • HashMapString
  • Map
  • MapDict
  • MapInt
  • MapString
Mutable Collections
  • MutableMap
  • MutableMapInt
  • MutableMapString
  • MutableQueue
  • MutableSet
  • MutableSetInt
  • MutableSetString
  • MutableStack
    • t
    • clear
    • copy
    • dynamicPopIter
    • dynamicPopIterU
    • forEach
    • forEachU
    • isEmpty
    • make
    • pop
    • popUndefined
    • push
    • size
    • top
    • topUndefined
Sort Collections
  • SortArray
  • SortArrayInt
  • SortArrayString
Utilities
  • Debug
API / Belt / MutableStack

MutableStack

First in last out stack. This module implements stacks, with in-place modification.

t

RES
type t<'a>

make

RES
let make: unit => t<'a>

Returns a new stack, initially empty.

clear

RES
let clear: t<'a> => unit

Discard all elements from the stack.

copy

RES
let copy: t<'a> => t<'a>

copy(x) O(1) operation, return a new stack.

push

RES
let push: (t<'a>, 'a) => unit

popUndefined

RES
let popUndefined: t<'a> => Js.undefined<'a>

pop

RES
let pop: t<'a> => option<'a>

topUndefined

RES
let topUndefined: t<'a> => Js.undefined<'a>

top

RES
let top: t<'a> => option<'a>

isEmpty

RES
let isEmpty: t<'a> => bool

size

RES
let size: t<'a> => int

forEachU

RES
let forEachU: (t<'a>, (. 'a) => unit) => unit

forEach

RES
let forEach: (t<'a>, 'a => unit) => unit

dynamicPopIterU

RES
let dynamicPopIterU: (t<'a>, (. 'a) => unit) => unit

dynamicPopIter

RES
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.

© 2025 The ReScript Project

Software and assets distribution powered by KeyCDN.

About
  • Community
  • ReScript Association
Find us on