processor Stack @: $; sink push ..|@Stack: $; end push source peek $@Stack(last) ! end peek source pop ^@Stack(last) ! end pop source empty $@Stack::length -> # <=0> 1 ! <> 0 ! end empty end Stack def myStack: [1] -> Stack; 2 -> !myStack::push '$myStack::empty; $myStack::pop; ' -> !OUT::write '$myStack::empty; $myStack::pop; ' -> !OUT::write '$myStack::empty; ' -> !OUT::write 3 -> !myStack::push '$myStack::empty; $myStack::peek; ' -> !OUT::write '$myStack::empty; $myStack::pop; ' -> !OUT::write '$myStack::empty;' -> !OUT::write