From: Ken A. <kan...@bb...> - 2002-09-05 01:24:18
|
I think Tim can answer this. At 07:24 PM 9/4/2002, Graham Spencer wrote: >Hello, > >I think I've found a bug in JScheme version 5.0.0. Given the following two >files: > >;; macro1.scm >(define-macro (myplus1 a b) > `(+ ,a ,b)) > >;; macro2.scm >(load "macro1.scm") >(define-macro (myplus2 a b) > `(+ ,a ,b)) >(.println java.lang.System.out$ (myplus1 1 2)) >(.println java.lang.System.out$ (myplus2 1 2)) > >If I compile both files to .class files and then run jscheme.REPL: > >Jscheme 5.0 04/05/2002 http://jscheme.sourceforge.net > > (load "macro2.scm") >3 >3 >#t > > (macro2.load) >(+ 1 2) >3 >#null > >The (load "macro2.scm") works as expected, but in (macro2.load), the macro >defined in macro1.scm is expanded but not evaluated. In general, I cannot >get macros defined in one compiled .class file to work in another file. Am >I doing something wrong, or is this really a bug? > >(My apologies if I should have posted this bug report somewhere else.) > >Thanks for your help, > >--g > |