exception Stack_empty
class ['a] stack =
object (self)
val mutable lst : 'a list = []
method push x =
lst <- x::lst
method pop =
match lst with
[] -> raise Stack_empty
| x::xs -> lst <- xs;
x
method is_empty =
lst = []
end