optimistic evaluation

Simon Peyton-Jones simonpj at microsoft.com
Wed Feb 8 03:30:27 EST 2006


| What is the status of Rob Ennals' optimistic evaluation work? I'm told
| that it has been removed from GHC. This is extremely depressing to me.

More precisely, it never got into GHC.  It was always on a
heavily-modified branch. 

Rob's thesis was fantastic work.  But although it sounded simple to
start with, when he'd worked out all the details it was very, very
complicated.  Read his thesis!

Simon and I decided that it was too big a complication to drag into our
main compiler, and then maintain in perpetuity. It would not be so bad
if it was a somewhat orthogonal feature, but it wasn't -- it percolated
into many bits of the compiler and runtime system.

It was cool stuff.  Maybe bright person can figure out an easier way to
do it.  But I'm afraid we have no plans to incorporate it at the moment.

Having said that, it wasn't a silver bullet!  I very much doubt that it
makes the difference between Haskell being usable for your work in
machine learning, and not being usable.  You may well need control over
space, which is undoubtedly Haskell's weak spot.  But remember, lazy
evaluation can *reduce* space usage as well as increase it --- and the
profiling tools plus seq and (perhaps!) bang patterns may give you the
control you need.

Simon


More information about the Glasgow-haskell-users mailing list