[gambit-list] syntax-case and keywords

Derrell Piper ddp at electric-loft.org
Fri Aug 14 14:03:18 EDT 2009


Hi,

I'm porting some Lisp to Scheme and I've run into a problem trying to  
use both extended parameter lists (keywords) with syntax-case.

% cat test.scm
(define (s #!key (f "foo") (v #f)) #t)
% gsi test
% gsi -e '(load "~~lib/syntax-case")' test
*** ERROR IN ##call-with-values -- invalid syntax (define (s #!key (f  
"foo") (v #f)) #t)

The actual code has both define-syntax and define-macro definitions.   
The manual says that define-syntax doesn't support special forms that  
are specific to Gambit, so I'm assuming that's the real issue here.   
But I'm wondering what the philosophy of Gambit is with respect to  
macros, given that define-syntax was specified for both R4RS and  
R5RS.  Chicken 4 deprecated the use of define-macro and now forces one  
to use define-syntax.  Which is ironically why I have define-syntax  
forms, in that I ported this code to Chicken first.  Should I just  
rewrite them as define-macro?  For all it's faults, CL only has one  
macro form.  :-)



More information about the Gambit-list mailing list