How to avoid the warning about a undefined variable?
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
participants (1)
-
Vok Vojwo