RosettaCodeData/Task/Stack/XLISP/stack-1.l

18 lines
322 B
Common Lisp

(define-class stack
(instance-variables vals))
(define-method (stack 'initialize)
(setq vals '())
self)
(define-method (stack 'push x)
(setq vals (cons x vals)))
(define-method (stack 'pop)
(define tos (car vals))
(setq vals (cdr vals))
tos)
(define-method (stack 'emptyp)
(null vals))