[plt-scheme] How best to iterate arguments to a macro?
http://www.scheme.com/tspl3/syntax.html#./syntax:h3
contains a "definition of unnamed let uses bound-identifier=? to detect
duplicate identifiers." Your case is similar.
Chongkai
Grant Rettke wrote:
> On 10/20/07, Chongkai Zhu <czhu at cs.utah.edu> wrote:
>
>> Your solution is OK.
>>
>> If you don't want to have recursive macro expanding, here's another solution:
>>
>> (define-syntax (property stx)
>> (syntax-case stx ()
>> ((property)
>> (raise-syntax-error 'property "Please provide at least one name"
>> '{property ?}))
>> ((_ name ...)
>> (with-syntax (((property-name ...)
>> (generate-temporaries #'(name ...))))
>> #'(begin
>> (define property-name null) ...
>> (define/public name
>> (case-lambda
>> [() property-name]
>> [(value) (set! property-name value)]))
>> ...)))))
>>
>
> In the recursive version I want to add checking that each argument is
> an identifier and the argument names are unique. What is the best way
> to go about this with the example you have provided?
>