Ask HN: resources for learning functional languages?

6 points by achompas ↗ HN
Thank you, HN! Last year I was one of "those people:" the guy that would ask for advice on learning how to code, what language to use, what projects to work on.

Well I actually decided to hang around, and I'm comfortable with a few languages (Python, R, a bit of C) a year later, To avoid plateauing, though, I would like to step into Functional Programming Land.

In my experience, functional languages == Scala, so I'd like your suggestions on resources for Scala. Does the above expression evaluate differently to you? If so, can you suggest other languages (and their best resources)?

8 comments

[ 3.4 ms ] story [ 31.2 ms ] thread
The fun trips into functional programming are Scheme and Haskell.
I hear Haskell is especially "math-y" (which sounds great to me). Can you suggest any resources for learning Haskell?
Any resource should be fine, it depends on what kind you prefer. See http://stackoverflow.com/questions/33264/book-recommendation...

I like "A Gentle Introduction to Haskell," which is not gentle at all.

http://learnyouahaskell.com/ is actually pretty good, and I'm not even a fan of the cutesy approach (cf. _why). You can read it all online, but you can also buy a hardcopy book.

Other than that, there's "Introduction to Functional Programming". I've heard people say that they liked the first edition better, but the second one uses Haskell…

On the Scheme side of things, you've got your "Little Schemer" and "SICP", of course. Both very highly recommended.

I haven't read a Scala book that puts a big emphasis on the functional part – and as it's a rather Tim Toady language, it might be better to focus on something simpler or more "pure".

I've lost my copy of "The Haskell Road to Logic, Maths and Programming" while moving, but the first few chapters I've read have been pretty great, especially if you also want to close some gaps in your math knowledge.

There's 2 gentle intro to Scala:

http://blog.typesafe.com/free-pdf-from-typesafe-scala-for-th...

The other is the Pragmatic book by Subramaniam (Aug 4, 2009). Covers 2.7 (current is 2.9.1) but conveys well the power of simple code.

(The Staircase book by Spoon, Odersky and Venners is pretty gentle, but, uh, big)

----------------

You could look at this deck that mentions web apps in scala, haskell, F#, ocaml, erlang and clojure (adn also look at scheme and common Lisp

http://www.slideshare.net/carsonified/alex-payne-speedy-stab...