
26 Jun
2005
26 Jun
'05
3:02 p.m.
On Sun, 26 Jun 2005, Daniel Fischer wrote:
m x y = if x==0 then 0 else x*y
Plain
foldr m 1
does fine, in fact much better than
foldl' (*) 1 . upTo (== 0),
both in hugs and ghc, regarding speed and memory usage.
E.g. foldr m 1 [a,b,c] means m a (m b (m c 1))) That is, it is not possible for the runtime system to store interim numeric results, it can only accumulate function calls.