[gambit-list] How to avoid the warning about a undefined variable?
Vok Vojwo
ceving at gmail.com
Wed Nov 16 11:24:46 EST 2011
I have a simple module:
$ cat a.scm
(##namespace ("a#"))
(##include "~~lib/gambit#.scm")
(##include "a#.scm")
(define a "a")
And the corresponding header:
$ cat a#.scm
(##namespace ("a#" a))
And a script which uses this module:
$ cat b.scm
#!/usr/bin/env gsi-script
(load "a")
(##include "~~lib/gambit#.scm")
(##include "a#.scm")
(define (main . args)
(write a)
(newline))
I can run the script without problems:
$ gsi b
"a"
It works the same if I use it interactively:
$ gsi
Gambit v4.6.2
> (load "b")
"/home/szi/gambit/modules/b.scm"
> (main)
"a"
> ,q
But when I compile the two files:
$ gsc a
$ gsc b
The compiled version produces a warning although the symbol gets
evaluated correctly.
$ gsi b
*** WARNING -- Variable "a#a" used in module "b.o1" is undefined
"a"
Why? And what do I have to do to avoid the warning?
More information about the Gambit-list
mailing list