greg@vis.UUCP (05/30/91)
Since it may be of general interest, here it is: (define (macro-expand form) (define (macro-value x) (and (symbol? x) (syntax-table-ref (nearest-repl/syntax-table) x)) ) (if (not (pair? form)) form (let ( (m (macro-value (car form))) ) (if (procedure? m) (macro-expand (apply m (cdr form))) (map macro-expand form) ) ) ) ) I wrote it to get schelog working, but no longer need it as I'm converting the original extend-syntax code to use define-macro. As soon as I'm satisfied with the portability I'll send it to the repository. _Greg J. Greg Davidson Institute for Software Research and Development +1 (619) 452-8059 6231 Branting Street San Diego, CA 92122 USA vis!greg@nosc.mil ucsd----+--vis vis!greg@ucsd.edu nosc----|