Какие книги почитать по функциональному программированию?
Восприятие языка - это вопрос индивидуальный. То, что далось легко мне, может показаться сложным вам. И наоборот. Но личным опытом поделиться могу:
У Haskell есть веское, на мой взгляд, преимущество - программы компилируются в бинарники. А минус в том, что я никогда не слышал о сколько-нибудь значимых случаях реального применения Haskell. Для восприятия он мне показался очень тяжёлым, литературу по нему можно использовать как снотворное.
Самой простой для изучения мне показалась Scala. Мультипарадигменность языка обеспечивает более лёгкое вхождение из императивного стиля программирования. Есть замечательный учебник "Scala для нетерпеливых" Кея Хорстманна. К тому же, вакансии на scala-программистов есть даже в РФ. Минусом для меня послужила как раз мультипарадигменность. Нет вызова, нет настоящей мозголомки, способствующей перекраиванию мышления. 
Erlang интересный, чисто функциональный, широко применяются. Но чувствуется некоторая незаконченность языка и отовсюду выпирает телекоммуникационное наследие. Есть неплохой учебник на русском Чезарини и Томпсона "Программирование в Erlang". Плюс, сейчас появился Elixir. Слышал, что он хорош и, что в нём решили все проблемы Erlang, но сам не щупал.
Я в результате остановился на Clojure. Кложа сложная, но она реально учит думать по-новому. По ней много книг. В том числе есть на русском - "Программирование на Clojure" Эмерика. Хорошая документация, большое и дружелюбное сообщество. В реальном мире применяется чаще, чем Haskell, но реже Scala или Erlang.
Касаемо Эрланга.
Изучай эрланг во имя добра. Дмкпресс.
Для вводного достаточно.
Что касается эрланга и хаскеля - это примерно как пхп и сиплюсплюс в обычном мире. Выбирайте что вам ближе.