Hacker News new | past | comments | ask | show | jobs | submit login
Erik Meijer’s suggestions for further reading in functional programming (kshetri.com)
169 points by fogus on March 25, 2011 | hide | past | favorite | 14 comments



I expected Purely Functional Data Structures by Chris Okasaki to be on this list. I would recommend it but more importantly I've seen many people who know a lot more about functional programming recommend it. It is probably a bit more useful for the average programmer than many of the books listed here.


I read Okasaki's PhD thesis by the same name, which he expanded into the book. Very well written, concise, full of useful theoretical information. The book expands into some data structures not covered in the thesis because the treatment would not have been original.


PFDS is a very good book even if you have no particular interest in functional programming. It's not the first book you should read on algorithms (hey, they didn't title it _Introduction to Algorithms_ for nothing), but I think PFDS is a very strong candidate as any one of the first four books you read on algorithms. It's short, it's not all that hard to understand, and the data structures and algorithms there can be relevant for reasons other than purely functional programming (especially: persistence).


After you read that, here are some papers on purely functional data structures suggested by the Theoretical CS stack exchange:

http://cstheory.stackexchange.com/questions/1539/whats-new-i...


This is a great list if you want to do a deep dive into the area of FP. If you just want to learn some Haskell, and also want to use a book, I recommend a combination of two.

Check out Real World Haskell in print of free on the web. It deals with the practicalities of getting started and has lots of examples to show you how to write idiomatic Haskell and tackles realistic examples.

Hutton's book (recommended by Meijer) is also great. #1 it's thin. #2, it is cleverly organized and teaches you some deep concepts without a big fuss. By the time you hear about monads they will seem like an obvious convenience, nothing scary.

The two books complement each other well.


Learn You a Haskell for Great Good (http://learnyouahaskell.com/) is another good resource for learning the language. It's a bit lighter weight than Real World Haskell, and doesn't have the breadth of practical examples, but I think it makes up for that by being more consistently interesting. I went through LYAH first and then Real World Haskell, and although the latter was very informative and useful, I found it to be painfully dull in certain parts (particularly the chapters that discuss the building of a JSON parser).


I agree on Real World Haskell. I couldn't put my finger on anything that was 'wrong' or 'bad' about the book, but just got bored with it and stopped reading halfway through.


The Barcode Recognition in Chapter 12 was fairly interesting. Anyone have some good beginning machine vision resources, Haskell or otherwise?


I got caught up a month or two ago in the JSON parser and just kind of dropped it for other projects. It's unfortunate, because I feel like I was learning a lot, but some of the exercises in the chapter can be a bit unclear, and altogether it just wasn't all that terribly interesting.


Richard Bird's book is also really great for the more theoretical side of things (it's like if you took Hutton's last chapter on "Equational Reasoning" and stretched it to an entire book).

I'm working through it now and will be posting notes and solutions as I get them done.


Yep. It's good too. Consider it more of an alternative to Hutton than Real World Haskell.


If you want to try Haskell in your browser:

http://tryhaskell.org/


I've always loved Learn you a Haskell for Greater good.

http://learnyouahaskell.com/chapters

The blog has been slowly been updated for some time now. I especially like it's treatment of zippers, a concept that took me longer to learn than I'd like to admit:(


For a more gentle start for those less familiar with functional programming (like myself) I can recommend "Higher Order Perl" by Mark Jason Dominus (also available for free online). The book discusses functional programming techniques in Perl. It has some really practical examples, which make some of the advantages of functional programming very clear. I also find it nicely explains a lot of functional programming concepts, which helps when reading those Haskell texts.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: