sequence stack = {} procedure push(object what) stack = append(stack,what) end procedure function pop() object what = stack[$] stack = stack[1..$-1] return what end function function empty() return length(stack)=0 end function ?empty() -- 1 push(5) ?empty() -- 0 push(6) ?pop() -- 6 ?pop() -- 5 ?empty() -- 1