

Ask HN: resources for learning functional languages? - achompas

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.<p>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.<p>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)?
======
mhd
<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.

------
gtani
There's 2 gentle intro to Scala:

[http://blog.typesafe.com/free-pdf-from-typesafe-scala-for-
th...](http://blog.typesafe.com/free-pdf-from-typesafe-scala-for-the-
impatien-64715)

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...](http://www.slideshare.net/carsonified/alex-payne-speedy-stable-and-
secure-better-web-applications-through-functional-languages)

------
SamReidHughes
The fun trips into functional programming are Scheme and Haskell.

~~~
achompas
I hear Haskell is especially "math-y" (which sounds great to me). Can you
suggest any resources for learning Haskell?

~~~
SamReidHughes
Any resource should be fine, it depends on what kind you prefer. See
[http://stackoverflow.com/questions/33264/book-
recommendation...](http://stackoverflow.com/questions/33264/book-
recommendation-for-haskell)

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

~~~
achompas
I should've searched SO for this question. Thanks!

~~~
gtani
<http://www.haskell.org/haskellwiki/Tutorials>

<http://haskell.org/haskellwiki/Category:Tutorials>

<http://haskell.org/haskellwiki/Learning_Haskell>

Also, Simon Thompson's book should be updated in October, and should be good

[http://www.amazon.com/Haskell-Functional-Programming-
Interna...](http://www.amazon.com/Haskell-Functional-Programming-
International-Computer/dp/0201882957/ref=dp_ob_title_bk)

