[gambit-list] help with port from DrScheme?
David Van Horn
dvanhorn at cs.uvm.edu
Mon Oct 18 00:26:34 EDT 2004
Bill Richter wrote:
> Has anyone worked out ports of various DrScheme things, such as the
> local construction?
Here is a syntax-rules macro for local:
(define-syntax local
(syntax-rules (define)
((local defs . body)
(letrec-syntax
((rev (syntax-rules ()
((rev accum (x . rest) b) (rev (x . accum) rest b))
((rev accum () b) (f () accum b))))
(f (syntax-rules ()
((f accum ((define (var . spec) . e) . rest) b)
(f ((var (lambda spec . e)) . accum) rest b))
((f accum ((define var e) . rest) b)
(f ((var e) . accum) rest b))
((f accum () b) (letrec accum . b)))))
(rev () defs body)))))
David
More information about the Gambit-list
mailing list