declare fun {NewStack} nil end fun {Push Stk Elem} Elem|Stk end fun {Pop Stk ?Elem2} case Stk of Elem|Tail then Elem2 = Elem Tail else raise emtpyStackToPop end end end % fun {Pop Elem|Tail ?Elem2} % Elem2 = Elem % Tail % end fun {IsEmpty Stk} case Stk of _|_ then false else true end end