RosettaCodeData/Task/Queue-Definition/XLISP/queue-definition-1.xlisp
2016-12-05 23:44:36 +01:00

17 lines
334 B
Text

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