;;; $Id: lambda-if-letrec-exp.def,v 1.3 1999/01/22 17:36:04 leavens Exp $

trustme!  ;; suppresses type errors

(defrep lambda-if-letrec-exp datum)
 
(deftype lambda-if-letrec-exp? (-> (datum) boolean))
(deftype varref? (-> (lambda-if-letrec-exp) boolean))
(deftype quote? (-> (lambda-if-letrec-exp) boolean))
(deftype lambda? (-> (lambda-if-letrec-exp) boolean))
(deftype if? (-> (lambda-if-letrec-exp) boolean))
(deftype let? (-> (lambda-if-letrec-exp) boolean))
(deftype letrec? (-> (lambda-if-letrec-exp) boolean))
(deftype app? (-> (lambda-if-letrec-exp) boolean))
(deftype varref->var (-> (lambda-if-letrec-exp) symbol))
(deftype quote->symbol (-> (lambda-if-letrec-exp) symbol))
(deftype lambda->formals (-> (lambda-if-letrec-exp) (list symbol)))
(deftype lambda->body (-> (lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype app->rator (-> (lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype app->rands (-> (lambda-if-letrec-exp) (list lambda-if-letrec-exp)))
(deftype if->test-exp (-> (lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype if->then-exp (-> (lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype if->else-exp (-> (lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype let->decls (-> (lambda-if-letrec-exp) (list (decl lambda-if-letrec-exp))))
(deftype let->body (-> (lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype letrec->decls (-> (lambda-if-letrec-exp) (list (decl lambda-if-letrec-exp))))
(deftype letrec->body (-> (lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype make-varref (-> (symbol) lambda-if-letrec-exp))
(deftype make-quote (-> (symbol) lambda-if-letrec-exp))
(deftype make-lambda (-> ((list symbol) lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype make-if (-> (lambda-if-letrec-exp lambda-if-letrec-exp lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype make-let (-> ((list (decl lambda-if-letrec-exp)) lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype make-letrec (-> ((list (decl lambda-if-letrec-exp)) lambda-if-letrec-exp) lambda-if-letrec-exp))
(deftype make-app (-> (lambda-if-letrec-exp (list lambda-if-letrec-exp)) lambda-if-letrec-exp))
(deftype parse-lambda-if-letrec-exp (-> (datum) lambda-if-letrec-exp))
