Hi,

I suspect a bug in snow (maybe I am wrong) but let's say I have 3 snowballs (dummies for my explanation):

===== moda.scm ======
(package* moda/v1.0.0
   (provide: 
    (define (square x))
    (define-macro (add x y)
      `(+ ,x ,y))))

(define (square x) (* x x))


===== modb.scm ======
(package* modb/v1.0.0
   (provide: (define (power4 x)))
   (require: moda/v1))

(define (power4 x) (* (square x) (square x)))

(write (add 1 2))
(newline)


===== modc.scm ======
(package* modc/v1.0.0
   (provide: (define (power6 x)))
   (require: modb/v1))

(define (power6 x) (* (square x) (square x) (square x)))

(write (power6 12))
(newline)

(write (add 1 2))
(newline)

==========================================

Then I type:

snow -- modb/v1.0.0/snow/modb.scm
3

which is what I expected. And then I type:

snow -- modc/v1.0.0/snow/modc.scm
3
2985984
*** ERROR IN "modc/v1.0.0/snow/modc.scm"@10.9 -- Unbound variable: moda/v1#add

which is NOT what I expected. It seems that macros are not transitively transported through dependencies. Normal functions are. Is this a bug?

Thank you,
Francois Magnan