RosettaCodeData/Task/Queue-Definition/XLISP/queue-definition-1.l
2023-07-01 13:44:08 -04:00

17 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))