<br><font size=2 face="sans-serif">Hello,</font>
<br>
<br><tt><font size=2>&gt; &nbsp;&gt; $ pointfree &quot;\xs -&gt; foldl'
(+) 0 xs / fromIntegral (length xs)&quot;<br>
&gt; &nbsp;&gt; ap ((/) . foldl' (+) 0) (fromIntegral . length)<br>
&gt; <br>
This will have the same space usage as the pointed version. You can see
this by looking at the monad instance for ((-&gt;) r):</font></tt>
<br>
<br><tt><font size=2>&nbsp; &nbsp; instance Monad ((-&gt;) r) where<br>
 &nbsp; &nbsp; &nbsp; &nbsp;return = const</font></tt>
<br><tt><font size=2>&nbsp; &nbsp; &nbsp; &nbsp; f &gt;&gt;= k = \ r -&gt;
k (f r) r<br>
</font></tt>
<br><tt><font size=2>-Jeff</font></tt>
<br>
<br>
<span style="font-family:'Arial',sans-serif; font-size:8pt; color:#000000">---<br>
<br>
This e-mail may contain confidential and/or privileged information. If you <br>
are not the intended recipient (or have received this e-mail in error) <br>
please notify the sender immediately and destroy this e-mail. Any <br>
unauthorized copying, disclosure or distribution of the material in this <br>
e-mail is strictly forbidden.</span>