RosettaCodeData/Task/Queue-Definition/XLISP/queue-definition-1.l

18 lines
334 B
Common Lisp

(define-class queue
(instance-variables vals))
(define-method (queue 'initialize)
(setq vals '())
self)
(define-method (queue 'push x)
(setq vals (nconc vals (cons x nil))))
(define-method (queue 'pop)
(define val (car vals))
(setq vals (cdr vals))
val)
(define-method (queue 'emptyp)
(null vals))