[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
deep nesting and Trailing parens
Howard Stearns wrote:
> It remains to be demonstrated (as far as I know) that macro-definition
> can be made easy enough in the face of things like using noise keywords
> instead of balanced delimiters:
Not entirely. Here's a silly example:
(bind (x y z)
to (1 2 3)
in (+ x y z))
which evaluates to
6
I define this with the macro
(define-syntax (bind expr)
(syntax-case expr (to in)
[(_ (names ...) to (values ...) in body ...)
(syntax
(let ([names values]
...)
body ...))]))
Shriram