From 4e987026148fe65c323afbc93cd560c07bf06b3f Mon Sep 17 00:00:00 2001 From: Yale AI Dept Date: Wed, 14 Jul 1993 13:08:00 -0500 Subject: Import to github. --- csys/dump-macros.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 csys/dump-macros.scm (limited to 'csys/dump-macros.scm') diff --git a/csys/dump-macros.scm b/csys/dump-macros.scm new file mode 100644 index 0000000..404adf8 --- /dev/null +++ b/csys/dump-macros.scm @@ -0,0 +1,37 @@ +(define-syntax (set-strictness-vars) + (let ((res '())) + (dotimes (i *pre-defined-strictness-vars*) + (push `(setf (dynamic ,(vector-ref *pre-defined-strictness-names* i)) + (vector-ref *pre-defined-strictness-table* ',i)) + res)) + `(begin ,@res))) + +(define-syntax (setup-gtyvar-vars) + (let ((res '())) + (dotimes (i *num-saved-gtyvars*) + (push `(setf (dynamic ,(vector-ref *saved-gtyvar-varnames* i)) + (vector-ref *saved-gtyvars* ',i)) + res)) + `(begin ,@res))) + +(define-syntax (assq/insert x table) + `(let ((res (assq ,x ,table))) + (if (eqv? res '#f) + (begin + (let ((new-pair (cons ,x '#f))) + (push new-pair ,table) + new-pair)) + res))) + +(define-syntax (assq/insert-l x table) + `(let ((res (assq ,x ,table))) + (if (eqv? res '#f) + (begin + (let ((new-pair (cons ,x '()))) + (push new-pair ,table) + new-pair)) + res))) + + + + -- cgit v1.2.3