Per,
Regarding what variable references that module B does to module A, that are
updated when A has been changed and you import A again (for instance through
importing B again) -
given a.scm:
(print "Module A import\n")
(define exported-var 'something)
And b.scm:
(import a)
(define (work-when-separate) exported-var)
(begin (declare (block)) (define (work-when-block) exported-var))
(define work-closure1 (lambda () exported-var))
(define work-closure2 (let ((c exported-var)) (lambda () c)))
(define structure (cons exported-var 'something-tihrd))
And doing (import b) in BH
And then altering a.scm into:
(print "Module A import\n")
(define exported-var 'something-else)
And doing (import b) again, thus reimporting a:
I get something-else from (work-when-separate), (work-when-block) and
(work-closure1), both when B is executed in interpreted and compiled mode.
Even if it's great from incremental development point of view; should it
really be like this?
Mikael