After reading the chapter about parsers in Bird's book, I tried to implement a simple parser myself, and this was a great experience, a real eye opener on how declarative and composable Haskell can be. Haskell is... well magic :-) It gave me same kind of joy I had when I made my first moving sprite on the Commodore 64 in 1985.<div>
<div><div><div><div><div><br></div><div><div><div><div><div class="gmail_quote">On Thu, Mar 26, 2009 at 12:44 AM, Heinrich Apfelmus <span dir="ltr"><<a href="mailto:apfelmus@quantentunnel.de">apfelmus@quantentunnel.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Manlio Perillo wrote:<br>
> Heinrich Apfelmus ha scritto:<br>
>><br>
>> I think you'd have had a much easier time by starting with a proper book<br>
>> right away, like Richard Bird's "Introduction to Functional Programming<br>
>> in Haskell", accompanied by Real World Haskell.<br>
><br>
> Unfortunately, one year ago Real World Haskell was not here.<br>
> And note that I have no problems with basic functional programming<br>
> concepts.<br>
> My problems are specific to Haskell.<br>
<br>
Despite the title, Bird's book is quite specific to Haskell, in<br>
particular concerning the philosophy of composing solutions from<br>
building blocks as opposed to primitive recursion.<br>
<br>
I'd say that every serious Haskell programmer should have it on his<br>
bookshelf (even if only for show ;) ).<br>
<br>
<br>
Regards,<br>
apfelmus<br>
<font color="#888888"><br>
--<br>
<a href="http://apfelmus.nfshost.com" target="_blank">http://apfelmus.nfshost.com</a><br>
</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div></div></div></div></div></div></div></div></div>