On 19-Jun-06, at 11:47 AM, Sakai, Kazuhiro wrote:
You're right, I've got gambcext.scm, renamed from syntax-case.scm, placed in the top of the Gambit-C tree.
I've got the another error message:
$ ../../gsi/gsi Xlib -e '(load "bounce") (namespace ("" main)) (main)' *** ERROR IN (string)@1.17 -- Namespace prefix must be a string
That was a bad suggestion of mine. If syntax-case is active you no longer have access to the Gambit specific special forms (such as define-macro, declare, and namespace). The syntax-case expander treats (namespace ("" main)) as a function call, expands it to (namespace ('"" main)), note the extra quote, and then when the Gambit interpreter (or compiler) tries to process this there is a syntax error because of the extra quote.
However, if I removed (renamed) gambcext.scm, it works.
Now I'm little confused about the use of the syntax-case.scm. Is there any detail documentation about the use of syntax-case.scm?
Not really, but this paper explains the use of syntax-case: http:// www.cs.indiana.edu/~dyb/pubs/tr356.pdf .
By the way, this demo is very nice!
I like it too. If you can improve it or create some other demos please send them to me so I can add them to the Gambit distribution.
Marc