On 4-Feb-09, at 7:45 AM, Marc Feeley wrote:
I'll see what I can do to extend the portable syntax-case implementation for Gambit. Last time I tried I remember a problem in the bootstrap process.
Here's a solution. At the end of lib/psyntax73.ss add these lines:
(define-syntax future (syntax-rules () ((_ rest ...) (##future rest ...))))
(define-syntax c-define-type (syntax-rules () ((_ rest ...) (##c-define-type rest ...))))
(define-syntax c-declare (syntax-rules () ((_ rest ...) (##c-declare rest ...))))
(define-syntax c-initialize (syntax-rules () ((_ rest ...) (##c-initialize rest ...))))
(define-syntax c-lambda (syntax-rules () ((_ rest ...) (##c-lambda rest ...))))
(define-syntax c-define (syntax-rules () ((_ rest ...) (##c-define rest ...))))
(define-syntax declare (syntax-rules () ((_ rest ...) (##declare rest ...))))
(define-syntax namespace (syntax-rules () ((_ rest ...) (##namespace rest ...))))
Then
% cd lib % ./syntax-case-build
This will generate from psyntax73.ss a new "syntax-case.scm" file with support for some of the Gambit specific special forms. Then "make install" from the root.
I have tested this very lightly. I'd like to know if you encounter any problems before I commit this patch.
Marc