Scheme language standardization process
On Thu, 12 May 2011 10:32:05 -0400, Andy Wingo <wingo@x> 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@x http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports