Re: [Scheme-reports] [wg2] in support of single-arity procedural syntax transformers
Aaron W. Hsu 12 May 2011 22:03 UTC
On Thu, 12 May 2011 10:32:05 -0400, Andy Wingo <wingo@pobox.com> wrote:
>> Overall your essay is illuminating, but reversing a syntax-object
>> representing a list is easy in an R6RS-conforming implementation.
>>
>> (define (reverse-wrapped-list obj)
>> (syntax-case obj ()
>> ((e ...) (reverse #'(e ...)))))
>
> This works on psyntax systems, where lists are never wrapped, but AFAIK
> it does not work on Racket, where lists are wrapped.
In R6RS, this is required to work. I believe Racket in R6RS mode complies
with this requirement, though I could be wrong. Where Racket differs is in
handling this:
(list? #'(a b c))
Here, there are no pattern expansions, and thus, it could be treated as a
single, completely wrapped object, or it could be a list with each of the
identifiers wrapped.
Aaron W. Hsu
--
Programming is just another word for the lost art of thinking.
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports