[plt-scheme] paren-shape bug?
On Wed, 29 Apr 2009, Matthew Flatt wrote:
> So, `syntax/template' is now supposed to be the reusable and
> generalizable layer.
>
>
> Here's an example use of `syntax/template' to implements a
> `syntax/shape' form that preserves the 'paren-shape property:
>
> (define-for-syntax (get-shape-prop stx)
> (syntax-property stx 'paren-shape))
>
> (define (add-shape-prop v stx datum)
> (syntax-property (datum->syntax stx datum stx stx stx)
> 'paren-shape
> v))
>
> (define-syntax (syntax/shape stx)
> (syntax-case stx ()
> [(_ tmpl)
> (transform-template #'tmpl
> #:save get-shape-prop
> #:restore-stx #'add-shape-prop)]))
>
>
Aah this is excellent! Thanks Matthew.
I'll keep my reader macro around, since its code is nice and simple, but I
will convert my macro wrappers to use this [so that the reader macro can
be disabled without breaking anything].
-- vyzo