18 lines
334 B
Common Lisp
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))
|