small medium large xlarge

Functional Programming: A PragPub Anthology: Exploring Clojure, Elixir, Haskell, Scala, and Swift


Cover image for Functional Programming: A PragPub Anthology

Functional Programming: A PragPub Anthology

Exploring Clojure, Elixir, Haskell, Scala, and Swift


Explore functional programming and discover new ways of thinking about code. You know you need to master functional programming, but learning one functional language is only the start. In this book, through articles drawn from PragPub magazine and articles written specifically for this book, you’ll explore functional thinking and functional style and idioms across languages. Led by expert guides, you’ll discover the distinct strengths and approaches of Clojure, Elixir, Haskell, Scala, and Swift and learn which best suits your needs.

About this Title

Pages: 250 (est)
Published: 2017-10-10
ISBN: 978-1-68050-233-6

Functional programming is on the rise because it lets you write simpler, cleaner code, and its emphasis on immutability makes it ideal for maximizing the benefits of multiple cores and distributed solutions. So far nobody’s invented the perfect functional language—each has its unique strengths. In Explore Functional Programming, you’ll investigate the philosophies, tools, and idioms of five different functional programming languages.

See how Swift, the development language for iOS, encourages you to build highly scalable apps using functional techniques like map and reduce. Discover how Scala allows you to transition gently but deeply into functional programming without losing the benefits of the JVM, while with Lisp-based Clojure, you can plunge fully into the functional style. Learn about advanced functional concepts in Haskell, a pure functional language making powerful use of the type system with type inference and type classes. And see how functional programming is becoming more elegant and friendly with Elixir, a new functional language built on the powerful Erlang base.

The industry has been embracing functional programming more and more, driven by the need for concurrency and parallelism. This collection of articles will lead you to mastering the functional approach to problem solving. So put on your explorer’s hat and prepare to be surprised. The goal of exploration is always discovery.

What You Need

Familiarity with one or more programming languages.


Contents & Extracts


The authors are all recognized experts in functional programming and languages. Rich Hickey created the Clojure language, Stuart Halloway and Aaron Bedra wrote Programming Clojure, Michael Bevilacqua-Linn wrote Functional Programming Patterns in Scala and Clojure, Venkat Subramaniam wrote Pragmatic Scala, Paul Callaghan lectures on Haskell and functional programming, José Valim created Elixir, Dave Thomas wrote Programming Elixir, Natasha (the Robot) Murashev is a leading authority on Swift, Tony Hillerson was an early Swift adopter, Josh Chisholm is a Lua expert, and Bruce Tate has written numerous books on programming languages. Michael Swaine is the former editor of Dr. Dobb’s Journal, current editor of PragPub magazine, and co-author of Fire in the Valley: the Birth and Death of the Personal Computer.