Sorry, it is of course Jan-Willem's compiler that is called Eager
Haskell, the Ghc version was called optimistic Haskell.
There's also the old precursor to these, the Optimistic G-machine,
that performs some non-lazy computations. (And it can even do them
while garbage collecting!)
-- Lennart
On Sep 15, 2006, at 07:59 , Lennart Augustsson wrote:
No, I wasn't suggesting that evaluate can tell the difference, just
that you can add dubious "functions".
You can evaluate with eager evaluation and some kind of threads
+fair scheduler. Both pH and the (short lived) Eager Haskell
version of ghc did this. (Well, I'm not sure pH ever got the fair
scheduler.)
-- Lennart
On Sep 15, 2006, at 05:00 , [EMAIL PROTECTED] wrote:
Lennart Augustsson wrote:
No, you were right the first time. :) The denotational semantics
is the
important one. Haskell can be executed by other means than graph
reduction. (That's why the report says a "non-strict" rather than
"lazy" language.) Peculiar language constructs may allow you to
tell
the difference, but then they are highly dubious (and like all
dubious
things, they should be in the IO monad :) ).
You suggest that (evaluate) or something else actually can tell me
the
difference? That would be interesting.
And what alternatives (besides call by name without sharing) are
there?
I always think lazy evaluation is space and time optimal.
Regards,
apfelmus
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe