
[I originally posted this over in haskell-beginners. However, since this list has a lot more traffic, and I am not sure how many people read both lists, I thought I would post here as well. I apologize for the doublepost! Just want to make sure I can get some replies from the great people here who might not read the beginners list] Hey all, I have mostly been brought in imperative/OOP languages. In connection with my college studies, however, I have taken great interest in the functional paradigm, and would very much like to dig deeper into it. I am currently reading through Peyton-Jones "Haskell: The Craft of Functional Programming" (2nd ed.), as well as a great paper published by one of my professors (http://www.cse.chalmers.se/~rjmh/Papers/whyfp.html). However, what other works, in your opinions, should I look into to get a more complete understanding of functional programming? Thanks in advance! Chris

On Tue, Apr 26, 2011 at 5:48 PM, Christopher Svanefalk
I am currently reading through Peyton-Jones "Haskell: The Craft of Functional Programming" (2nd ed.), as well as a great paper published by one of my professors (http://www.cse.chalmers.se/~rjmh/Papers/whyfp.html). However, what other works, in your opinions, should I look into to get a more complete understanding of functional programming?
You might consult the Typeclassopedia (Brent Yorgey). Understanding these typeclasses helped me start understand the power of abstraction that Haskell (and FP in general) gives a programmer. quoth the abstract: "The standard Haskell libraries feature a number of type classes with algebraic or category-theoretic underpinnings. Becoming a fluent Haskell hacker requires intimate familiarity with them all, yet acquiring this familiarity often involves combing through a mountain of tutorials, blog posts, mailing list archives, and IRC logs. "The goal of this article is to serve as a starting point for the student of Haskell wishing to gain a firm grasp of its standard type classes. The essentials of each type class are introduced, with examples, commentary, and extensive references for further reading." http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf, page 13 And from a fellow student: have fun! -- Edward Amsden Student Computer Science Rochester Institute of Technology www.edwardamsden.com

I'm currently reading Real World Haskell (
http://book.realworldhaskell.org/read/), and it's an excellent book. It goes
into detail on quite a few interesting and practical uses of the language.
Also, in the spirit of this discussion, is there a resource that attempts to
compare libraries for common tasks so developers can make informed decisions
without having to research each library or approach on their own? As an
example, in other languages you might read about CSV parsing from a few
different sources and see a general consensus on how to approach it. After
hours of digging through code on Hackage and reading up on different
approaches, I can't seem to find a consensus in Haskell.
If anyone knows of a book/resource that breaks down different approaches to
common problems and when/why you might choose one over the other, I'm very
interested.
-Eric Rasmussen
On Tue, Apr 26, 2011 at 3:52 PM, Edward Amsden
On Tue, Apr 26, 2011 at 5:48 PM, Christopher Svanefalk
wrote: I am currently reading through Peyton-Jones "Haskell: The Craft of Functional Programming" (2nd ed.), as well as a great paper published by one of my professors (http://www.cse.chalmers.se/~rjmh/Papers/whyfp.html). However, what other works, in your opinions, should I look into to get a more complete understanding of functional programming?
You might consult the Typeclassopedia (Brent Yorgey).
Understanding these typeclasses helped me start understand the power of abstraction that Haskell (and FP in general) gives a programmer.
quoth the abstract: "The standard Haskell libraries feature a number of type classes with algebraic or category-theoretic underpinnings. Becoming a fluent Haskell hacker requires intimate familiarity with them all, yet acquiring this familiarity often involves combing through a mountain of tutorials, blog posts, mailing list archives, and IRC logs.
"The goal of this article is to serve as a starting point for the student of Haskell wishing to gain a firm grasp of its standard type classes. The essentials of each type class are introduced, with examples, commentary, and extensive references for further reading."
http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf, page 13
And from a fellow student: have fun!
-- Edward Amsden Student Computer Science Rochester Institute of Technology www.edwardamsden.com
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Eric Rasmussen schrieb:
Also, in the spirit of this discussion, is there a resource that attempts to compare libraries for common tasks so developers can make informed decisions without having to research each library or approach on their own? As an example, in other languages you might read about CSV parsing from a few different sources and see a general consensus on how to approach it. After hours of digging through code on Hackage and reading up on different approaches, I can't seem to find a consensus in Haskell.
I think there won't be consensus in many cases, otherwise developers wouldn't have started to develop alternatives to existing packages. However if you did the work of comparing some libraries for the same purpose - how about writing a personal comparison in the HaskellWiki? For the special case of CSV parsing I would of course recommend my spreadsheet package because it parses lazily. :-)

Thank you -- I will try your spreadsheet package for sure, and when I have more expertise in this area I'd be happy to contribute to the wiki. On Wed, Apr 27, 2011 at 3:00 AM, Henning Thielemann < schlepptop@henning-thielemann.de> wrote:
Eric Rasmussen schrieb:
Also, in the spirit of this discussion, is there a resource that attempts to compare libraries for common tasks so developers can make informed decisions without having to research each library or approach on their own? As an example, in other languages you might read about CSV parsing from a few different sources and see a general consensus on how to approach it. After hours of digging through code on Hackage and reading up on different approaches, I can't seem to find a consensus in Haskell.
I think there won't be consensus in many cases, otherwise developers wouldn't have started to develop alternatives to existing packages. However if you did the work of comparing some libraries for the same purpose - how about writing a personal comparison in the HaskellWiki?
For the special case of CSV parsing I would of course recommend my spreadsheet package because it parses lazily. :-)

First, thanks to everyone for your input! It is really appreciated, and I will be checking out the resources you provided. Also, a correction: /Haskell: The Craft of Functional Programming /is written by Simon Thompson, not Peyton-Jones. Mixup on my part there :) On 04/27/2011 01:44 AM, Eric Rasmussen wrote:
I'm currently reading Real World Haskell (http://book.realworldhaskell.org/read/), and it's an excellent book. It goes into detail on quite a few interesting and practical uses of the language.
Also, in the spirit of this discussion, is there a resource that attempts to compare libraries for common tasks so developers can make informed decisions without having to research each library or approach on their own? As an example, in other languages you might read about CSV parsing from a few different sources and see a general consensus on how to approach it. After hours of digging through code on Hackage and reading up on different approaches, I can't seem to find a consensus in Haskell.
If anyone knows of a book/resource that breaks down different approaches to common problems and when/why you might choose one over the other, I'm very interested.
-Eric Rasmussen
On Tue, Apr 26, 2011 at 3:52 PM, Edward Amsden
mailto:eca7215@cs.rit.edu> wrote: On Tue, Apr 26, 2011 at 5:48 PM, Christopher Svanefalk
mailto:christopher.svanefalk@gmail.com> wrote: > I am currently reading through Peyton-Jones "Haskell: The Craft of > Functional Programming" (2nd ed.), as well as a great paper published by > one of my professors > (http://www.cse.chalmers.se/~rjmh/Papers/whyfp.html http://www.cse.chalmers.se/%7Erjmh/Papers/whyfp.html). However, what > other works, in your opinions, should I look into to get a more complete > understanding of functional programming? You might consult the Typeclassopedia (Brent Yorgey).
Understanding these typeclasses helped me start understand the power of abstraction that Haskell (and FP in general) gives a programmer.
quoth the abstract: "The standard Haskell libraries feature a number of type classes with algebraic or category-theoretic underpinnings. Becoming a fluent Haskell hacker requires intimate familiarity with them all, yet acquiring this familiarity often involves combing through a mountain of tutorials, blog posts, mailing list archives, and IRC logs.
"The goal of this article is to serve as a starting point for the student of Haskell wishing to gain a firm grasp of its standard type classes. The essentials of each type class are introduced, with examples, commentary, and extensive references for further reading."
http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf, page 13
And from a fellow student: have fun!
-- Edward Amsden Student Computer Science Rochester Institute of Technology www.edwardamsden.com http://www.edwardamsden.com
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org mailto:Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I think this book may have been mentioned before, "Functional
programming: practice and theory" by MacLennan, Bruce J gives a
fundamental idea of what it's all about. :)
On Wed, Apr 27, 2011 at 4:28 AM, Christopher Svanefalk
First, thanks to everyone for your input! It is really appreciated, and I will be checking out the resources you provided.
Also, a correction: Haskell: The Craft of Functional Programming is written by Simon Thompson, not Peyton-Jones. Mixup on my part there :)
On 04/27/2011 01:44 AM, Eric Rasmussen wrote:
I'm currently reading Real World Haskell (http://book.realworldhaskell.org/read/), and it's an excellent book. It goes into detail on quite a few interesting and practical uses of the language.
Also, in the spirit of this discussion, is there a resource that attempts to compare libraries for common tasks so developers can make informed decisions without having to research each library or approach on their own? As an example, in other languages you might read about CSV parsing from a few different sources and see a general consensus on how to approach it. After hours of digging through code on Hackage and reading up on different approaches, I can't seem to find a consensus in Haskell.
If anyone knows of a book/resource that breaks down different approaches to common problems and when/why you might choose one over the other, I'm very interested.
-Eric Rasmussen
On Tue, Apr 26, 2011 at 3:52 PM, Edward Amsden
wrote: On Tue, Apr 26, 2011 at 5:48 PM, Christopher Svanefalk
wrote: I am currently reading through Peyton-Jones "Haskell: The Craft of Functional Programming" (2nd ed.), as well as a great paper published by one of my professors (http://www.cse.chalmers.se/~rjmh/Papers/whyfp.html). However, what other works, in your opinions, should I look into to get a more complete understanding of functional programming?
You might consult the Typeclassopedia (Brent Yorgey).
Understanding these typeclasses helped me start understand the power of abstraction that Haskell (and FP in general) gives a programmer.
quoth the abstract: "The standard Haskell libraries feature a number of type classes with algebraic or category-theoretic underpinnings. Becoming a fluent Haskell hacker requires intimate familiarity with them all, yet acquiring this familiarity often involves combing through a mountain of tutorials, blog posts, mailing list archives, and IRC logs.
"The goal of this article is to serve as a starting point for the student of Haskell wishing to gain a firm grasp of its standard type classes. The essentials of each type class are introduced, with examples, commentary, and extensive references for further reading."
http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf, page 13
And from a fellow student: have fun!
-- Edward Amsden Student Computer Science Rochester Institute of Technology www.edwardamsden.com
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- -- Regards, KC
participants (5)
-
Christopher Svanefalk
-
Edward Amsden
-
Eric Rasmussen
-
Henning Thielemann
-
KC