On May 12, 2009, at 2:51 PM, leppie wrote:
There is 1 surprise though (maybe a bug, probably intended).
It is intended. (And it doesn't bother me a bit honestly and if I change the behavior tomorrow, and your code breaks, then your code sucks :-)) Why is it intended this way? This issue came up in 2006 or so when this way a hot topic and when I didn't understand it well. The question was about the behavior of the following: (library (L1) (export x) (import (rnrs)) (define x 1) (display "L1\n")) (library (L2) (export x) (import (rnrs) (L1)) (display "L2\n")) #!r6rs (import (rnrs) (L1) (L2)) (display x) The x in the script is defined in L1 and is imported from two distinct paths: one directly from L1 and one indirectly through L2. So, is the x in the script the one from L1 or the one from L2? I honestly don't care as long as it's value is 1 and neither should you. :-) Aziz,,,
