[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] 5.5.1 module syntax

On Thu, 19 May 2011 17:36:52 -0400, Andy Wingo <wingo@x> wrote:

> On Thu 19 May 2011 20:19, John Cowan <cowan@x> writes:
>>> In what order are the requisite modules loaded (via `import')?
>> The implementation can do what it likes.  IMAO, users who rely on the
>> order of module loading deserve to lose.  Specifically, the side effects
>> (if any) of a module should not interact with those of other modules,
>> except in trivial ways like yammering to standard output.
> What about:
>   (module (foo)
>     (import (only (bar) baz))
>     (begin
>      (define qux baz)))
> Is this equivalent to:
>   (module (foo)
>     (begin
>      (define qux baz))
>     (import (only (bar) baz)))

> ?

Yes, this is equivalent. The location of imports has no effect on their  
importing. The Body elements are concatenated together and evaluated in  
the context of an environment defined by the sum total of the imports.

	Aaron W. Hsu

Programming is just another word for the lost art of thinking.

Scheme-reports mailing list