Teeps

Learning Functional Programming in Swift

08 January 2015 by James Smith

I’ve been learning Swift ever since it was announced last year at WWDC. Even more recently I’ve been studying functional programming and learning how to apply what I’ve learned in my Swift projects. There are tons of resources on the web and in print but they are scattered everywhere. Here are some of the links that I’ve found useful.

Books

Functional Programming in Swift

A fantastic introduction to functional programming. I recommend starting here.

Learn You a Haskell for Great Good

I’m about halfway through this one and I highly recommend it. You can read it online for free or purchase a physical copy.

Structure and Interpretation of Computer Programs

The canonical Computer Science textbook. I’m only a short ways into this one, but it comes highly recommended from many developers. You can read it online here or purchase the hard copy.

Real World Haskell

Available online for free. Recommended by many Haskell developers. I’ll be reading this one next.

Blog Posts

Giant Robots Smashing into Other Giant Robots

The Thoughtbot developer blog. I highly recommend reading through the JSON parsing posts.

Introduction to Function Currying in Swift

Efficient JSON in Swift with Functional Concepts and Generics

Real World JSON Parsing with Swift

Parsing Embedded JSON and Arrays in Swift

Objc.io

Issue #16: Swift

Chris Eidhof’s blog

A tiny networking library

An experimental networking library by the author of Functional Programming in Swift

Lenses in Swift

A very approachable introduction to Lenses.

Javier Soto's blog

Functor and Monad in Swift

A very well written post explaining Functor and Monad. Includes a thorough explanation of map and flatMap.

We Heart Swift

Higher Order Functions: Map, Filter, Reduce and more

An introduction to map, filter and reduce.

Videos

Functional Swift Conference

A collection of talks about functional programming in Swift from six brilliant developers. Talks range from beginner-level concepts to advanced functional programming techniques.

Chris Eidhof - Functional Swift

Chris Eidhof’s talk from ⌘R Conf demonstrates how to use functional concepts like function composition to refactor your code. Highly recommended.

FunctionalTalks.org

None of these talks were given with Swift in mind, but the videos touch on some advanced functional programming concepts that are useful to understand when writing Swift code.

Blogs

Airspeed Velocity

Particularly good at revealing some of the nuances in the Swift language.

Natasha The Robot

Follow along with Natasha as she learns Swift. Some really great tips in here.

Documentation

SwiftDoc.org (formerly Swifter)

An invaluable reference for the Swift standard library.

Jazzy

A beautiful documentation generator for Swift and Objective-C projects.

Newsletters

iOS Goodies Easily my favorite iOS development newsletter. Lots of Swift related links lately.

This week in Swift

Curated by @NatashaTheRobot.

iOS Dev Weekly

Occasionally there are some useful links regarding Swift in here. An excellent publication nonetheless.

Functional Snippets

Short digestible snippets of code covering various functional programming concepts, written in Swift.

Open Source Projects

Argo

The end result of Thoughbot’s excellent JSON parsing series

Swiftz

A Swift library that provides functional data structures and functions

Runes

A small Swift library that implements common functional programming operators for Array and Optional.

Let's build your next big thing.

Contact Us