Functional Swift

Learn core concepts of functional programming with Swift and leverage them in real world code.

Swift opens up a whole new world of programming that we’re going to explore in this book. To quote Swift’s creator, Chris Lattner:

“Objective-C without the C” implies something subtractive, but Swift dramatically expands the design space through the introduction of generics and functional programming concepts.

We’ll explain the concepts behind functional programming and how Swift makes it easy to leverage them in a pragmatic way, in order to write clearer and more expressive code.

Now also available in Chinese and Japanese.

What’s in the book

  • Thinking Functionally

    Get to know the functional 
programming paradigm

  • Map, Filter, Reduce

    Higher-order functions and functional manipulation of collections

  • Functional APIs

    Designing functional, composable, and type-safe APIs

  • Optionals

    How Swift solves the “missing value” problem, and why that’s a good idea

  • Purity

    Benefits of value types and immutability

  • Enums

    Create your own data types with Swift’s enums for clarity and type safety

  • Purely Functional Data Structures

    Use recursive enums to write simple data structures

  • Generators and Sequences

    Understand the machinery underlying Swift’s collection types

  • Parsing & Evaluating

    A functional parsing library and a simple spreadsheet app as example

  • Applicative Functors and Monads

    Common patterns underlying functional code