<p dir="ltr">What happens if you change the signature of meanList to</p>
<p dir="ltr">meanList :: ( Fractional b) => [b] ->b</p>
<p dir="ltr">The integrals in [1,2,3] would be converted to [1.0, 2.0, 3.0] before you act upon them. </p>
<div class="gmail_extra"><br><div class="gmail_quote">On 22 Sep 2016 6:49 p.m., "Lai Boon Hui" <<a href="mailto:laiboonh@gmail.com">laiboonh@gmail.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi, can someone explain to me why i cannot define meanList as:</div><div><br></div><div><div>meanList :: (Integral a, Fractional b) => [a] -> a</div><div>meanList xs = (sumList xs) / (lengthList xs)</div></div><div><br></div><div>I want to restrict the function to only accept lists like [1,2,3] and return answer 2.0</div><div><br></div><div><br></div><div>sumList :: (Num a) => [a] -> a</div><div>sumList [] = 0</div><div>sumList (x:xs) = x + (sumList xs)</div><div><br></div><div>lengthList :: (Num a) => [t] -> a</div><div>lengthList [] = 0</div><div>lengthList (_:xs) = 1 + (lengthList xs)</div><div><br></div><div><br></div>
</div>
<br>______________________________<wbr>_________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div>