[Snow-users-list] Fwd: Transitivity of "require" for macros
François Magnan
francois.magnan at licef.ca
Fri Dec 21 12:30:53 EST 2007
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?
In other words...
Is transitivity for the "require:" property part of the snow
specification?
Thank you,
Francois Magnan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://webmail.iro.umontreal.ca/pipermail/snow-users-list/attachments/20071221/0c68af8c/attachment.html
More information about the Snow-users-list
mailing list