[Haskell-cafe] Optimizing unamb by determining the "state" of a
tom.davie at gmail.com
Mon Apr 20 04:23:27 EDT 2009
On 20 Apr 2009, at 09:41, Peter Verswyvelen wrote:
> I was wandering if it would be possible to optimize unamb by
> checking if a value is already evaluated to head normal form.
> f `unamb` g
> would then be extremely fast if either f or g is already evaluated
> to head normal form.
> Maybe using some vacuum tricks?
> This function would need to be in IO since it is of course not
> referentially transparent.
Really? Is it any less referentially transparent than unamb already
is - i.e. it's referentially transparent, as long as the two values
really are equal.
> Although threads are lightweight in Haskell, forking/waiting/killing
> surely must have more overhead than just checking the thunk of an
> Of course one could also make unamb a primitive :-)
That would be a lovely solution for me.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe