(declare (uses mod1))
(declare (uses mod2))
(module mod3
*
(import scheme
chicken.eval
mod1 mod2 all)
(define (vars) ;;
(- *mod2somevar* *mod1somevar*))
(define (mod1ok)
(let ((modallenv (module-environment 'all)))
(eval '*mod1somevar* modallenv)))
(define (mod2ok)
(let ((modallenv (module-environment 'all)))
(eval '*mod2somevar* modallenv)))
(define (addsome)
(let ((modallenv (module-environment 'all)))
(eval '(+ *mod1somevar* *mod2somevar*) modallenv)))
)
(import mod3)
(print "vars: "(vars))
(print "mod1ok: "(mod1ok))
(print "mod2ok: "(mod2ok))
(print "addsome: "(addsome)) ;; => 5555