The Haskell Sequence - Books/Tutorials
http://sequence.complete.org/taxonomy/term/18/0
enHow would you like to contribute to the Craft of FP exercises/solutions project?
http://sequence.complete.org/node/48
* by posting complete solutions\n* by giving hints, i.e. not complete solutions\n* asking for solutions only\n* by asking & answering\n* I am not interested for the project at all\nhttp://sequence.complete.org/node/48#commentsBooks/TutorialsWed, 06 Apr 2005 06:01:24 -0700gour48 at http://sequence.complete.orgLearning Haskell with Craft of FP book (self-study)
http://sequence.complete.org/node/47
<p>Hi!</p>
<p>Sometime ago I asked on haskell-caffe list about the solutions to the exercises from the Simon Thompson's book Craft of FP (see <a href="http://www.haskell.org/pipermail/haskell-cafe/2005-January/008516.html">thread</a>) and there were different opinions whether they should be available or not for the public.</p>
<p>Being the one which practice self-study in order to learn Haskell and taking into consideration that Simon's book is one of the unofficial textbooks for the subject, I hope that having help in solving the exercises from the book can bring some benefit to the Haskell freshmans (according to the Your stage of Haskell Evolution? poll, we are majority :-)</p>
<p>The Haskell Sequence site is a wonderful opportunity to help Haskell community grow, and if there is no objection, I'd post from time to time questions pertaining to the book's exercises which puzzles my (and hopefully) someone's else mind.</p>
<p>I'm going to create a small poll to see what would be the best way to deal with it.</p>
<p>Pls. give me your feedback.</p>
<p>Sincerely,<br />
Gour</p>
http://sequence.complete.org/node/47#commentsBooks/TutorialsDiscussionWed, 06 Apr 2005 05:42:48 -0700gour47 at http://sequence.complete.orgSimon Thompson is an amazing teacher
http://sequence.complete.org/node/46
<p>After tripping and stumbling through "Gentle" and "YAHT", I am worlds grateful for "Craft of Functional Programming" He is not just teaching Haskell, he is teaching you how to think about problem solving.</p>
<p>The reason I am so excited is he gave the following exercise:<br />
<code><br />
Give a function orderTriple which puts the elements of a triple of three integers into ascending order.<br />
</code></p>
<p>Ok, so far, just an ordinary question. And in most other cases that's all you would get. In YAHT, you would have copious exercises like what you just saw. In Gentle, he would show you the solution and keeping moving. It is the next sentence in this exercise that sets Thompson apart from the crowd:</p>
<p><code><br />
You might like to use the maxThree, middle, and minThree functions defined earlier.<br />
</code></p>
<p>Kapow! After reading the first part of the exercise, my mind immediately began to scramble over how to maintain state and iterate through the elements, deleting them as I found their place. </p>
<p>But then Thompson *decomposed* the problem into 3 simpler problems for me!</p>
http://sequence.complete.org/node/46#commentsBooks/TutorialsDiscussionMon, 04 Apr 2005 08:36:44 -0700metaperl46 at http://sequence.complete.orgThe Essence of Functional Programming by Wadler
http://sequence.complete.org/node/39
<p>This article by Wadler is really quite astounding:</p>
<p>http://citeseer.ist.psu.edu/wadler92essence.html</p>
<p>He shows how to create variations of an interpreter using monads and discusses the superiority of the monadic approach of the CPS approach.</p>
<p>Here is<br />
<a href="http://citeseer.ist.psu.edu/wadler92essence.html"><br />
Citeseer reference to the article</a></p>
http://sequence.complete.org/node/39#commentsBooks/TutorialsTue, 22 Mar 2005 02:47:33 -0800metaperl39 at http://sequence.complete.orgAll About Monads, A comprehensive guide to the theory and practice of monadic programming in Haskell.
http://sequence.complete.org/node/19
<p>Jeff Newbern's <a href="http://www.nomaware.com/monads/html/">All About Monads</a> is the best monad tutorial I've seen yet!</p>
<p>This tutorial starts with the most basic definition of a monad, and why you might want one. It covers most of the monad instances in the standard libraries, and also includes monad transformers. It wraps up nicely with links to Parsec, category theory, and arrows. You can read it online, or download as a zip file or tarball.</p>
<p>If you've been looking for a good monads tutorial, try this one first!</p>
http://sequence.complete.org/node/19#commentsBooks/TutorialsI/ONewbiesParsingRecursionWed, 23 Feb 2005 10:44:47 -0800shapr19 at http://sequence.complete.org"Algorithms: A Functional Programming Approach" by Fethi Rabhi and Guy Lapalme
http://sequence.complete.org/node/17
<p><a href="http://www.iro.umontreal.ca/~lapalme/AlgoFP/start.html">Algorithms: A Functional Programming Approach</a> is one of my top ten favorite computer science books. First, it covers the basics of Haskell and complexity theory. Then for each algorithm it gives first an easy to read implementation, and then a more efficient but harder to read implementation. Each of the transformations from clear to fast versions are discussed, and optimizations are explained. This book was also my first introduction to methodical step-by-step algorithmic optimization systems, in this case the Burstall & Darlington system. I've since used the lessons I learned in this book in my commercial work in Python, SQL, Java, and of course Haskell. </p>
<p>The best audience for this book is those who are looking for a second Haskell book, or new to algorithms, or would like to learn how to optimize pure (non-monadic) Haskell code systematically. The sections on top-down design techniques and dynamic programming would be of interest to programmers who are still learning and wish to know more about structuring larger programs. </p>
<p>Even with all that content, this softcover book is only 256 pages (coincidentally binary?), allowing for easy reading in any spare moment.</p>
http://sequence.complete.org/node/17#commentsBooks/TutorialsLibrariesNewbiesRecursionReviewsTue, 22 Feb 2005 09:13:17 -0800shapr17 at http://sequence.complete.org