[gambit-list] builtin syntax, namespaces and expansion loops

Christian christian at pflanze.mine.nu
Fri Jun 24 09:12:44 EDT 2005


Hello

I've noticed that one cannot refer to builtin syntax using fully 
qualified notation (something like foo#quasiquote isn't defined; so 
builtin syntax is present in every namespace but not accessible with 
any full qualification) and one thus cannot write macros substituting 
the builtin syntax with something else and then still call the 
original syntax in the generated code:

(define-macro (quasiquote . l)
    (display "quasiquote called\n")
    `(quasiquote , at l))

`1
=> leads to infinite loop, and there's no apparent way around that.

Additionally, this loop cannot be terminated by hitting ctl-c, which 
means the whole process has to be terminated.

Is there a way to write the above quasiquote wrapper so that it works?

Thanks
Christian.



More information about the Gambit-list mailing list