Bjorn Lisper <lisper@it.kth.se> writes:
Wait, Jerzy. Haskell implementations do not have to be lazy as long as they preserve the more abstract semantics. Optimistic evaluation has been considered, for instance by Robert Ennals.
I'm not sure if the GC hack proposed by Wadler¹ that lets the garbage collector replace "fst (a,b)" with "a" (and similar for other unchecked selectors) counts as optimistic evaluation, but I wonder what the status of this is. GHC doesn't seem to do it, and I wonder if there is any particular reason? Too specific? As I've posted about previously, I use concurrency to work around the space leak, but it'd be nice to be able to do without, especially as -smp is not compatible with -prof. -k ¹) http://citeseer.ist.psu.edu/wadler87fixing.html -- If I haven't seen further, it is by standing in the footprints of giants