[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: a counter proposal



   From: "Sergei Egorov" <esl@xxxxxxxxxxxxxxx>
   Date: Thu, 30 Sep 1999 15:15:01 -0400

   I woud only suggest to read #,(...) as (hash-comma ...) and
   (define-syntax hash-comma (syntax-rules () ((_ ?x) (force (delay ?x)))).
   This would expose only one name to name capture -related hazards of
   read-macro expansion.

Good idea.  It would be better to have a name that reflected
the behavior rather than the syntax, just as , is `unquote' and
not `comma'.

   It's a pity that this form won't work inside quoted constants,
   though...

You can get something close by combining #, with quasiquote.
Just do

   #,`(a ,(foo b c) d)

instead of

   '(a #,(foo b c) d)

We could have #`x be a shorthand for (force (delay (quasiquote x))),
either instead of or in addition to #, .

                                     -Richard Kelsey