Updated for Swift 4
Functional Swift
Learn core concepts of functional programming with Swift and leverage them in real world code.
by Chris Eidhof, Florian Kugler, and Wouter Swierstra
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.
Book Contents
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
Buy Book
Bundles
Save on each additional book
About the Authors
-
Chris Eidhof
Chris is one of the objc.io co-founders, and host of Swift Talk. He also co-authored the Functional Swift and Advanced Swift books. Before, he wrote apps such as Deckset and Scenery.
-
Florian Kugler
Florian is one of the objc.io co-founders. He worked on Mac Apps like Deckset, co-authored the Functional Swift and Core Data books, and hosts the weekly Swift Talk video series.
-
Wouter Swierstra
Wouter has more than 15 years of experience with functional programming. He has worked in industry, taught courses, and published research articles — all using functional programming.
FAQ
Is the book updated for Swift 4?
Yes!
Will you update the book?
Yes. For more information on our policy, see book updates.
Do I need to know Swift before reading this book?
We assume you have a working knowledge of OOP, and have read the introductory book by Apple.
Do you provide training?
Yes, we provide workshops and training. If you’re interested, email us.
Can I get a “reverse charge” invoice without VAT?
Just click the “Generate Invoice” link in the receipt email and fill out your company data to get a VAT refund.
Updates
Nov 2017
Update for Swift 4
Dec 2016
Update for Swift 3
Dec 2015
Update for Swift 2
October 2015
Initial release
July 2015
Early access