;;; $Id: atomic-exp.def,v 1.2 1999/02/25 03:37:41 leavens Exp $

trustme!

(defrep (atomic-exp T) datum)

(deftype atomic-list? (-> (datum) boolean))
(deftype atomic-exp? (-> (datum) boolean))
(deftype atom->atomic-exp (-> (T) (atomic-exp T)))
(deftype atomic-list->atomic-exp (-> ((list (atomic-exp T))) (atomic-exp T)))
(deftype atomic-exp-atomic? (-> ((atomic-exp T)) boolean))
(deftype atomic-exp-atomic-list? (-> ((atomic-exp T)) boolean))
(deftype atomic-exp->atom (-> ((atomic-exp T)) T))
(deftype atomic-exp->atomic-list (-> ((atomic-exp T)) (list (atomic-exp T))))
(deftype parse-atomic-exp (and
			   (-> ((list T)) (atomic-exp T))
			   (-> (?u) (atomic-exp ?u))
			   (-> (datum) (atomic-exp datum))))
(deftype parse-atomic-list (and
			    (-> ((list T)) (list (atomic-exp T)))
			    (-> ((list datum)) (list (atomic-exp datum)))))
