Re: [Scheme-reports] 5.5.1 module syntax
Aaron W. Hsu 20 May 2011 02:19 UTC
On Thu, 19 May 2011 17:36:52 -0400, Andy Wingo <wingo@pobox.com> wrote:
> On Thu 19 May 2011 20:19, John Cowan <cowan@mercury.ccil.org> 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
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports