On 23-Sep-08, at 2:29 AM, Per Eckerdal wrote:
Is there any way of working around this? One way of fixing this would be to change Gambit to add support for syntax like (lambda (#!key ((outside-name . inside-name) default-value)) #f). In that case the example above would expand into
(define (fun #!key ((a . h1#a) #f)) #f)
which would be hygienic. It would be better with something that didn't needed a change in Gambit though.
The "solution" is to implement SRFI-89 style named parameters in the interpreter and compiler. This has been on my todo list for a while. I'll see what I can do.
Marc