;;; $Id: type-predicates.def,v 1.1 2002/04/09 22:25:26 leavens Exp $

(deftype datum? (-> (datum) boolean))

(deftype A? (-> (datum) boolean))
(deftype B? (-> (datum) boolean))
(deftype C? (-> (datum) boolean))
(deftype D? (-> (datum) boolean))
(deftype E? (-> (datum) boolean))
(deftype F? (-> (datum) boolean))
(deftype G? (-> (datum) boolean))
(deftype H? (-> (datum) boolean))
(deftype I? (-> (datum) boolean))
(deftype J? (-> (datum) boolean))
(deftype K? (-> (datum) boolean))
(deftype L? (-> (datum) boolean))
(deftype M? (-> (datum) boolean))
(deftype N? (-> (datum) boolean))
(deftype O? (-> (datum) boolean))
(deftype P? (-> (datum) boolean))
(deftype Q? (-> (datum) boolean))
(deftype R? (-> (datum) boolean))
(deftype S? (-> (datum) boolean))
(deftype T? (-> (datum) boolean))
(deftype U? (-> (datum) boolean))
(deftype V? (-> (datum) boolean))
(deftype W? (-> (datum) boolean))
(deftype X? (-> (datum) boolean))
(deftype Y? (-> (datum) boolean))
(deftype Z? (-> (datum) boolean))

(deftype void? (-> (datum) boolean))
(deftype poof? (-> (datum) boolean))

(deftype pair-of (-> ((-> (datum) boolean) (-> (datum) boolean))
		     (-> (datum) boolean)))

(deftype vector-of (-> ((-> (datum) boolean))
		       (-> (datum) boolean)))

(deftype <- (-> ((-> (datum) boolean) (-> (datum) boolean) ...)
		(-> (datum) boolean)))

(deftype list-of (-> ((-> (datum) boolean))
		     (-> (datum) boolean)))

(deftype all-of (-> ((-> (datum) boolean) (-> (datum) boolean) ...)
		    (-> (datum) boolean)))
