On May 12, 2009, at 2:15 PM, Abdulaziz Ghuloum wrote:

Running script.ss in all *existing* Scheme implementations
randomly produces either:

   F0 initialized
   Running ...
   f0
   Done.

or:

   F0 initialized
   Running ...
   not
   Done.

but in a lazy instantiation semantics (which Ikarus is not),
it produces either:

   Running ...
   F0 initialized
   f0
   Done.

or:

   Running ...
   not
   Done.

FWIW, I think the Java semantics requires that the code (if
transcribed to a java class with a static field f0 and static
code containing a printf) produces either:

    Running ...
    f0
    Done.

or:

    Running ...
    not
    Done.

That is, the class is not initialized due to referencing f0
since f0 is considered a "constant variable" referencing which
must NOT cause class initialization.

Aziz,,,

Reply via email to