 
						Updated for Swift 5
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 FunctionallyGet to know the functional programming paradigm 
- 
												Map, Filter, ReduceHigher-order functions and functional manipulation of collections 
- 
												Functional APIsDesigning functional, composable, and type-safe APIs 
- 
												OptionalsHow Swift solves the “missing value” problem, and why that's a good idea 
- 
												PurityBenefits of value types and immutability 
- 
												EnumsCreate your own data types with Swift's enums for clarity and type safety 
- 
												Purely Functional Data StructuresUse recursive enums to write simple data structures 
- 
												Generators and SequencesUnderstand the machinery underlying Swift's collection types 
- 
												Parsing & EvaluatingA functional parsing library and a simple spreadsheet app as example 
- 
												Applicative Functors and MonadsCommon patterns underlying functional code 
Buy Book
Bundles
Save on each additional book
About the Authors
- 
									  Chris EidhofChris is one of the objc.io co-founders, and host of Swift Talk. He also co-authored the Functional Swift, Advanced Swift, and Thinking in SwiftUI books. Before, he wrote apps such as Deckset. 
- 
									  Florian KuglerFlorian is one of the objc.io co-founders. He worked on Mac Apps like Deckset, co-authored the Thinking in SwiftUI book amongst others, and hosts the weekly Swift Talk video series. Recently, he also started running Anton Reisemobile part time, a workshop for fine campervan conversions. 
- 
									  Wouter SwierstraWouter 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
- 
										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
- 
										Mar 2020Update for Swift 5 
- 
										Nov 2017Update for Swift 4 
- 
										Dec 2016Update for Swift 3 
- 
										Dec 2015Update for Swift 2 
- 
										October 2015Initial release 
- 
										July 2015Early access