]>
A stack is an aggregate structure which allows insertion, deletion, and inspection of the "top" element. Stacks are similar to any pile of paper where you can only add to the pile, remove the top paper from the file, or read the top paper.
Stacks can be created from a list of elements using the stack Stack function.
An empty stack can be created using the empty function.
The empty? function will return true if the stack contains no elements.
Stacks modify their arguments so they use the exclamation mark "!" as part of the function name.
The pop! function removes the top element of the stack and returns it. The stack is one element smaller. The extract! function does the same thing with a different name.
The push! function adds a new top element to the stack and returns the element that was pushed. The stack is one element larger. The insert! function does the same thing with a different name.
To read the top element without changing the stack use the top function.