On Thu, Aug 18, 2011 at 21:21, Michael Serra <mk.serra@gmail.com> wrote:
My "superstition" here has been that the former only evaluates pxls' once, whereas the latter computes it twice.  This seems like a basic issue which must have been confirmed or debunked somewhere in my readings, but it hasn't sunk in with me. 

As I understand it, common subexpression elimination in lazy languages is difficult at best because the shared subexpressions may thereby become ineligible for fusion, so you're expected to do it explicitly by means of where/let clauses.  So your superstition is actually the truth.

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms