Marc: Assume that there's a file called "streams.scm" that has Phil Bewig's streams code in it, and that there's a file called "sieve.scm" that uses the definitions in streams.scm Now, when I do [Media-Mac-mini-3:~/Downloads] lucier% gsi -:s Gambit v4.6.6
(load "streams.scm") "/Users/lucier/Downloads/streams.scm" (load "sieve.scm") "/Users/lucier/Downloads/sieve.scm" (stream->list 10 primes) (2 3 5 7 11 13 17 19 23 29)
everything works fine. But if I compile the streams code and do [Media-Mac-mini-3:~/Downloads] lucier% gsi -:s Gambit v4.6.6
(load "streams") "/Users/lucier/Downloads/streams.o3" (load "sieve.scm") *** ERROR IN #<procedure #2>, "sieve.scm"@5.6 -- Unbound variable: define-stream
then, as you can see, a macro from streams.o3 is not available for use in expanding sieve.scm. So, I guess I don't understand the "persistence" or whatever you would call it of R5RS macros, and how that interacts with Gambit's compilation model. Can you help? Brad