Frank Christoph wrote,

| Ah, right. Someone mentioned just recently (I forget who---sorry) that
| nothing in the Report forces a Haskell implementation to use call-by-need. I
| guess this is a manifestation of the change of direction, from laziness to
| non-strictness...?

My point was meant to be just that there was no change in direction involved
in incorporating Id folks in in our effort.  Despite our determination to
do "semantics first" in our language design, we were at first referring to an
implementation technique, lazy evaluation, instead of the semantic notion
of nonstrictness.

Now, when I mentioned Id, I should have specified the purely functional
core of Id.  This is a pure, nonstrict, higher-order functional language
like Haskell.  Lazy sequential and speculative parallel implementations
will not be distinguishable.  When you introduce I-structures and M-structures,
however, an observable difference arises:  You can't have infinite structures
with Id's operational semantics, because they must be fully evaluated
for their effects.  These effects are narrowly limited, but still,
there they are.  (You may think at some point that you have the result
of your evaluation in hand, but you must wait for all computation to
cease, in case an erroneous duplicate assignment occurs.)

(If I have misspoken, I trust Nikhil will correct me.)

At any rate, Arvind and Nikhil participated in the design of Haskell
without bringing the impure aspects of Id into the discussion.  Some
years later, pH is part of the fruit of this collaboration.

By the way, I think you could have a speculative parallel system that
is fully lazy in the sense that no computation is duplicated.  That is,
some unnecessary computation is done, but nothing is done twice.

Cheers,
--Joe

Joseph H. Fasel, Ph.D.              email:  [EMAIL PROTECTED]
Technology Modeling and Analysis    phone:  +1 505 667 7158
University of California            fax:    +1 505 667 2960
Los Alamos National Laboratory      postal: TSA-7 MS F609
                                            Los Alamos, NM  87545




Reply via email to