Is there any way to have both the syntax-case macros and use Gambit's DSSSL parameters at the same time? I found that you can't use them normally after loading the file, as in
(load "~~/syntax-case.scm") "/usr/local/Gambit-C/4.0b22/syntax-case.scm"> (load "~~/syntax-case.scm") (define (foo x #!key y) (list x y)) *** ERROR -- invalid syntax (define (foo x #!key y) (list x y))> (define (foo x #!key y) (list x y))
However, if I do
(##define (foo x #!key y) (list x y))
It works fine. Okay. But now, if I were to try this:
(define-syntax twice (syntax-rules () ((_ x) (begin x x)))) (##define (bar x) (twice x)) (bar 5) ** ERROR IN bar, (stdin)@55.2 -- unbound variable twice
So, once I've loaded syntax-rules, I can only use the DSSSL extensions in ##define forms, but I can only use syntax macros in define forms. Is there any way around this? Do I have to prefix the syntax macros with a specific namespace? I'm assuming that's what the problem is, the macros being in a different namespace...but which one? Kind of curious, James