;;; $Id$ trustme! ;; suppress type errors (defrep parsed-exp datum) (deftype varref? (-> (parsed-exp) boolean)) (deftype lit? (-> (parsed-exp) boolean)) (deftype app? (-> (parsed-exp) boolean)) (deftype square? (-> (parsed-exp) boolean)) (deftype multiply? (-> (parsed-exp) boolean)) (deftype varref->var (-> (parsed-exp) symbol)) (deftype lit->datum (-> (parsed-exp) number)) (deftype app->rator (-> (parsed-exp) parsed-exp)) (deftype app->rands (-> (parsed-exp) (list parsed-exp))) (deftype square->arg-exp (-> (parsed-exp) parsed-exp)) (deftype multiply->left-exp (-> (parsed-exp) parsed-exp)) (deftype multiply->right-exp (-> (parsed-exp) parsed-exp)) (deftype make-varref (-> (symbol) parsed-exp)) (deftype make-lit (-> (number) parsed-exp)) (deftype make-square (-> (parsed-exp) parsed-exp)) (deftype make-multiply (-> (parsed-exp parsed-exp) parsed-exp)) (deftype make-app (-> (parsed-exp (list parsed-exp)) parsed-exp)) (deftype parse (-> (datum) parsed-exp)) (deftype unparse (-> (parsed-exp) datum))