;;; $Id: simple-arith-expr.def,v 1.1 1999/01/10 19:00:47 leavens Exp $

trustme!

(defrep simple-arith-expr datum)

(deftype literal? (-> (simple-arith-expr) boolean))
(deftype make-literal (-> (number) simple-arith-expr))
(deftype literal->number (-> (simple-arith-expr) number))

(deftype op-call? (-> (simple-arith-expr) boolean))
(deftype make-op-call (-> (simple-arith-expr symbol simple-arith-expr) simple-arith-expr))
(deftype op-call->left-arg (-> (simple-arith-expr) simple-arith-expr))
(deftype op-call->op (-> (simple-arith-expr) symbol))
(deftype op-call->right-arg (-> (simple-arith-expr) simple-arith-expr))

(deftype simple-arith-expr? (-> (datum) boolean))
(deftype parse-simple-arith-expr (-> (datum) simple-arith-expr))
