Re: [Sisc-users] weird symbols in sc-expand output (was Re: defining module from macro)
Brought to you by:
mradestock,
scgmille
From: Dan <gre...@ya...> - 2006-08-23 13:29:26
|
Thanks Scott. Here's SISC macroexpand, then. Also see the bug report below this definition. If confirmed, I will submit it on sourceforge. (define (macroexpand sexp) (define (strip-syntoken token) (case token ((#%quote) 'quote) ((#%begin) 'begin) ((#%lambda) 'lambda) ((#%define) 'define) ((#%letrec) 'letrec) ((#%program) 'program) ((#%set!) 'set!) ((#%if) 'if) ((#%annotate) 'annotate) (else token))) (define (fixx sexp) (cond ((pair? sexp) (cons (fixx (car sexp)) (fixx (cdr sexp)))) (else (strip-syntoken sexp)))) (define ea (emit-annotations)) (emit-annotations #f) (let ((result (fixx (sc-expand sexp)))) (emit-annotations ea) result)) Why fixx instead of fix? I'd like to report a nice bug in SISC 1.15.2: #;> (define (fix x) (cons (fix (car x)) (fix (cdr x)))) Error: Unsupported syntactic type [10]. Should never happen! Is this just my SISC, or does it happen for anyone else too? __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |