[plt-scheme] A macro for declaring class properties, a question

Grant Rettke grettke at acm.org
Thu Oct 18 09:43:04 EDT 2007


On 10/18/07, Noel Welsh <noelwelsh at gmail.com> wrote:
> Something like this would do:
>
> (define-syntax property
>   (syntax-rules ()
>     [(_ name)
>      (begin (field super-secret-field-name)
>             (define/public name
>               (case-lambda
>                 [() super-secret-field-name]
>                 [(value) (set! super-secret-field-name value)])))]))

I'm confused about the hygiene here. Wouldn't the class end up having
duplicate field names 'super-secret-field-name', or are those made
clean when referenced by the class?


More information about the plt-scheme mailing list