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

Re: [Scheme-reports] 6.7.4 load

John Cowan wrote:
> Jonathan Kraut scripsit:
>> The 'load' procedure doesn't specify what should happen when it is 
>> called from with a module.                                         

> Ticket filed for the optional argument defaulting to the interaction
> environment.

Though I suggested two options, I prefer the option that adds language 
to the report that signals that this is a bad idea, rather than 'load' 
taking an optional argument. Imagine at the REPL that I request module A 
(via normal use of 'load' or some other implementation specific method). 
Module A imports module B, and module B contains the call

	(load "foo.scm" (interaction-environment))

Then, B's exports are now available for A, and A's exports are now 
available to me. But what about any definitions from "foo.scm"? Are they 
now also available to me? If so, it seems messy, because B now has a 
signature that includes both its exports and side-effects to the 
interaction environment. And that changes A's signature as well.


Jonathan Kraut

Scheme-reports mailing list