Book Image

Swift 3 Functional Programming

By : Dr. Fatih Nayebi
Book Image

Swift 3 Functional Programming

By: Dr. Fatih Nayebi

Overview of this book

<p>This book is based on Swift 3 Developer preview version and aims at simplifying the functional programming (FP) paradigms making it easily usable, by showing you how to solve many of your day-to-day development problems.</p> <p>Whether you are new to functional programming and Swift or experienced, this book will strengthen the skills you need to design and develop high-quality, scalable, and efficient applications.</p> <p>The book starts with functional programming concepts, the basics of Swift 3, and essential concepts such as functions, closures, optionals, enumerations, immutability, and generics in detail with coding examples.</p> <p>Furthermore, this book introduces more advanced topics such as function composition, monads, functors, applicative functors, memoization, lenses, algebraic data types, functional data structures, functional reactive programming (FRP), protocol-oriented programming (POP) and mixing object-oriented programming (OOP) with functional programming (FP) paradigms.</p> <p>Finally, this book provides a working code example of a front-end application developed with these techniques and its corresponding back-end application developed with Swift.</p>
Table of Contents (17 chapters)
Swift 3 Functional Programming
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Reference types versus value types


We covered this topic in a previous chapter, but it is important to emphasize that in most object-oriented programming (OOP) languages, instances can be shared and objects can be passed around with their references. This is true for Swift classes and closures as well. In those cases, it is important to understand that the state of an object can be altered when objects are shared via references. In other words, in case any user of a reference to a mutable object changes the object, all other users of that object will be affected by the change.