[gambit-list] Bug involving syntax-rules and c-lambda
Marc Feeley
feeley at iro.umontreal.ca
Wed Feb 4 09:32:24 EST 2009
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
More information about the Gambit-list
mailing list