<div dir="ltr">That helps IMMENSELY!<div><br></div><div>I shall see if there is errata on the book's web presence. </div><div><br></div><div>Thanks,</div><div><br></div><div>Trent.</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Aug 15, 2018 at 10:22 AM Francesco Ariis <<a href="mailto:fa-ml@ariis.it">fa-ml@ariis.it</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Trent,<br>
<br>
On Wed, Aug 15, 2018 at 10:08:29AM -0700, trent shipley wrote:<br>
> Also, at this point I am having trouble reading these function declarations.<br>
> <br>
> all :: (a -> Bool) -> [Bool] -> Bool<br>
> all b ls = and (map b ls)<br>
<br>
There must be a typo in the text. The correct signature is<br>
<br>
    all :: (a -> Bool) -> [a] -> Bool<br>
<br>
Which is logical:<br>
    - we take a list of `a`s (`[a]`)<br>
    - we pass them through a function `a -> Bool`,<br>
      obtaining `[Bool]`<br>
    - we check if the resulting list is all comprised of `True`s.<br>
<br>
Does that help?<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">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-bin/mailman/listinfo/beginners</a><br>
</blockquote></div>