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,,,