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?
Afficher les réponses par date