On 11-Jun-1998, Amr A Sabry <[EMAIL PROTECTED]> wrote:
> There is one aspect of Java that is relevant here:
> 
> A Java implementation is free to load and link classes in any order,
> strictly or lazily, but it MUST report exceptions as if it had loaded
> and resolved the classes lazily.
> 
> I think Haskell should have the same restriction: it would bad to
> receive different exceptions because a Haskell implementation decided
> to evaluate an argument strictly before it is needed. 
> 
> Java got that right. --Amr

Java chose to favour determinacy over efficiency.
That's a reasonable decision, but it isn't the "right" decision
for all applications.  For some applications, efficiency is
more important than determinacy.

This applies to other areas of the Java spec too, such as floating point.
floating point performance problems on some platforms such as DEC Alpha. 
The solution?  Last time I looked, I think implementations of Java for
those platforms simply didn't conform to the spec.

-- 
Fergus Henderson <[EMAIL PROTECTED]>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]        |     -- the last words of T. S. Garp.


Reply via email to