On Wed, May 6, 2009 at 9:11 AM, Derick Eddington
<[email protected]> wrote:
> On Wed, 2009-05-06 at 07:02 +0200, Michele Simionato wrote:
>> On Wed, May 6, 2009 at 6:18 AM, Derick Eddington
>> <[email protected]> wrote:
>> > The on-demand semantics is a result of Ikarus's implicit phasing.
>>
>> No, Ypsilon does implicit phasing but it instantiates the imported
>> modules always.
>
> Yes.  Aziz told you:
>
>    On Tue, 2009-05-05 at 12:06 +0300, Abdulaziz Ghuloum wrote:
>    > Being different was not a design goal of the system; you understand
>    > that.  It's a byproduct of dropping the "for" syntax from the import
>    > form and disassociating its purpose as a scoping mechanism from its
>    > use for instantiation.
>
> I was talking about Ikarus.  Before I posted last time, I did know
> Ypsilon does what you say.  I say Ypsilon is doing implicit phasing
> wrong.

Maybe Ypsilon is using a non-orthodox interpretation of what "implicit
phasing" means, but its interpretation is allowed by the R6RS and I happen
to like its behaviour. In your example Ypsilon prints "(macro-helper) invoked"
which is consistent with what I would have expected.
IOW, I would have made the same mistake of Fujita, if  I were a Scheme
implementor. I convinced that others would make the same "mistake" too.

>> Suppose I am importing a library
>> purely for its side effects
>
> That is a major misuse of importing.  Importing is purely a lexical
> scope thing.  It's far more confusing to have to figure-out that a
> lexical import is being done to implicitly cause side-effects at
> execution time.  If you want to execute something in an imported
> library, say so (in code), like you would for a zillion other cases.

You say so, but at least the PLT people think in a different way.
I say the meaning of "import" is open to interpretation in the
Scheme world and I do not know of any other implementation
using the meaning in the strict sense of Ikarus.

Reply via email to