Lets assume we don&#39;t have undefined in the list, are there functions (or properties in the function) that would cause foldl to have different results than foldl&#39;?<br><br>daryoush<br><br><div class="gmail_quote">On Tue, Nov 4, 2008 at 3:37 PM, Daniel Fischer <span dir="ltr">&lt;<a href="mailto:daniel.is.fischer@web.de">daniel.is.fischer@web.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Am Mittwoch, 5. November 2008 00:08 schrieb Daryoush Mehrtash:<br>
<div><div></div><div class="Wj3C7c">&gt; Are there cases (function or list) where the result of foldl (or<br>
&gt; foldr)would be different that foldl&#39; (or foldr&#39;)?<br>
&gt;<br>
&gt; thanks,<br>
&gt;<br>
&gt; daryoush<br>
<br>
</div></div>Simple example:<br>
import Data.List<br>
<br>
weird :: Int -&gt; Int -&gt; Int<br>
weird _ 0 = 0<br>
weird x y = x*y<br>
<br>
list :: [Int]<br>
list = [1, 2, 3, 4, undefined, 6, 7, 8, 9, 0]<br>
<br>
okey = foldl weird 1 list<br>
<br>
boom = foldl&#39; weird 1 list<br>
<br>
*Main&gt; okey<br>
0<br>
*Main&gt; boom<br>
*** Exception: Prelude.undefined<br>
<br>
since foldl&#39; evaluates strictly (to WHNF), it can die on encountering an<br>
undefined value in the list where foldl doesn&#39;t.<br>
</blockquote></div><br>