Holiday Reading: Functional Programming

The more Swift code I write, the more I’m realizing I need to understand Functional Programming a lot better. So this holiday season, I’ll be reading a few books on the subject, and figuring out how to best apply functional principles to my Swift and iOS code in an ongoing effort.

Of course I turned to Twitter to figure out which books to read, and I got a great list. Here are the recommendations for those who are interested as well:

I’ll be starting with Real World Haskell and then go into SICP.

Do you have a favorite book about Functional Programming? Let me know in the comments!

Enjoy the article? Join over 14,500+ Swift developers and enthusiasts who get my weekly updates.

  • Pingback: Michael Tsai - Blog - Holiday Reading: Functional Programming()

  • Jerry

    Hello Natasha,

    Last month I finished reading book called “Functional Programming in Swift”!!! Highly recommend. You can get the book on objc.io website. Also there are many great articles there. I think that might be a better option than to read Haskell books. Alternatively I would recommend Functional Programming through Lambda Calculus.

    Jerry

    • Hi Jerry,

      Thanks for the recommendation. I actually already read the Functional Programming in Swift book – should have included it in the list, but didn’t since I already read it. That’s what got me into functional programming. I’m a big fan of objc.io – in fact, I’ve even contributed on it 🙂

      I’ll take a look at Functional Programming through Lambda Calculus.

      Thanks!

  • skryl

    Hey Natasha,

    I would recommend starting with a Coursera course if you have time. Both of the courses below are taught by incredible instructors who are able to communicate fundamental ideas in a way that you wont find in many books.

    * Programming Languages by Dan Grossman (taught in ML, Scheme, and Ruby)

    * Functional Programming Principles in Scala by Martin Odersky (taught in Scala by the creator of Scala)

    Also, starting with SICP and/or Haskell sounds heroic but it is also a sure-fire way to some serious confusion if you have never programmed in an FP language before. SICP is probably the most unfinished comp sci book of all time and Haskell is one of the only lazily evaluated languages in “popular” use. Scheme and ML/Ocaml/F# are good languages to start with, but if you choose to go with Scheme then you might wanna hold off on SICP for a while.

    • Thanks for the comment! I took the EdX FP101 Course, and read a few books already, so looking for more advanced resources. The Coursera courses sound amazing!

      • chrisbrandow

        you probably saw that ole begeman took the coursera course and hand very good things to say.

  • Rudi Schlatte

    Chris Okasaki, Purely Functional Data Structures. It’s good.

  • Joseph Abrahamson

    Richard Bird is great at demonstrating a particular, incredible functional style. I’ve read Pearls of Functional Algorithm Design

    http://www.amazon.com/Pearls-Functional-Algorithm-Design-Richard/dp/0521513383/ref=sr_1_3?s=books&ie=UTF8&qid=1419611173&sr=1-3&keywords=richard+bird

    But he recently released Thinking Funtionally with Haskell

    http://www.amazon.com/Pearls-Functional-Algorithm-Design-Richard/dp/0521513383/ref=sr_1_3?s=books&ie=UTF8&qid=1419611173&sr=1-3&keywords=richard+bird

    and while I haven’t read it I anticipate it’s fantastic.

  • Patrick Goley

    Land of Lisp by Conrad Barski offers an easy going approach to learning Common Lisp and functional programming. It’s good for beginners or experienced programmers looking to learn a Lisp. Imagine a book written by Gary Larson, were he an expert on lambda calculus.

    http://landoflisp.com/