[Haskell-cafe] Thoughts about currying and optimisations
Yves Parès
limestrael at gmail.com
Tue May 31 21:14:07 CEST 2011
Hello Café,
An idea came to me: unless the compiler notices that stuffA and stuffB are
equivalent, would it be correct to suppose that A is better than B?
stuffA x = if someComputationallyExpensiveTest x
then doSomething else doSomethingElse
stuffB x y = if someComputationallyExpensiveTest x
then doSomething y else doSomethingElse y
I explain: in stuffA, the function only depends on x, so when doing:
a = stuffA xxx
runs the expensive test once and for all, and a can directly be bound to
doSomething or doSomethingElse
so calling after:
a foo
a bar
won't run the test
Whereas:
b = stuffB xxx
is valid due to curryfication, but:
b foo
b bar
will both run the expensive test
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110531/d4e99821/attachment.htm>
More information about the Haskell-Cafe
mailing list