[racket] Another macro question: making a lexically binding keyword?

From: Eli Barzilay (eli at barzilay.org)
Date: Wed May 9 05:16:26 EDT 2012

A few minutes ago, Laurent wrote:
> 
> So maybe a compromise would be to use parameters for most (anaphoric) cases,
> but still allow to specify a lexically scoped ("hygienic") binding for
> particular cases, e.g.:
> (while #:abort top-while-abort #:it top-while-it
>   (while
>     ....use the usual `abort' for the inner loop or the `top-while-abort' to
> escape the top while....)
>   ....)
> 
> ?

That makes it redundant, since if you have just the syntax parameters,
you can replace this (for example):

  (while #:abort my-abort (condition)
    (code))

with

  (while (condition)
    (define my-abort abort)
    (code))

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!


Posted on the users mailing list.