;;; $Id: stack.def,v 1.2 1998/10/07 21:22:16 leavens Exp $

(defrep (stack ?t) (cell (list ?t)))

(deftype stack? (-> (datum) boolean))
(deftype make-stack (-> () (stack ?t)))
(deftype stack-push! (-> (?t (stack ?t)) void))
(deftype stack-pop! (-> ((stack ?t)) void))
(deftype stack-top (-> ((stack ?t)) ?t))
(deftype stack-empty? (-> ((stack ?t)) boolean))
