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

Functional Programming: A PragPub Anthology: Exploring Clojure, Elixir, Haskell, Scala, and Swift Front Cover
1 Reviews
284 pages

Book Description

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.

Contributing authors: Rich Hickey, Stuart Halloway, Aaron Bedra, Michael Bevilacqua-Linn, Venkat Subramaniam, Paul Callaghan, Jose Valim, Dave Thomas, Natasha Murashev, Tony Hillerson, Josh Chisholm, and Bruce Tate.

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 Functional Programming: A PragPub Anthology, 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 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 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.

Table of Contents

Part I. The Functional Paradigm
Chapter 1. Functional Programming Is Big Again
Chapter 2. Functional Thinking For The Imperative Mind

Part II. Scala: A Language
Chapter 3. Scala And Functional Style
Chapter 4. Working With Scala Collections
Chapter 5. Creating Higher-Order Functions In Scala

Part III. Clojure: The New Lisp
Chapter 6. An Interview With Rich Hickey
Chapter 7. Getting Clojure: Why Lisp Still Matters
Chapter 8. Identity, Value, And State In Clojure
Chapter 9. Concurrent Programming In Clojure

Part IV. Elixir: Making Programming Fun Again
Chapter 10. And Transformations In Elixir
Chapter 11. Getting Functional With Elixir
Chapter 12. Getting With Elixir

Part V. Haskell: The Researcher’s Playground
Chapter 13. Functional Thinking And Haskell
Chapter 14. Haskell Hands-On

Part VI. Swift: Functional Programming for
Chapter 15. Swift: What You Need To Know
Chapter 16. Functional Thinking In Swift

Part VII. Going Deeper
Chapter 17. Protocols In Swift Vs. Ruby And Elixir
Chapter 18. Pattern Matching In Scala
Chapter 19. Concurrency In Scala
Chapter 20. Clojure’S Exceptional Handling Of Exceptions
Chapter 21. A Testing Framework For Elixir
Chapter 22. Building Test Data With Elixir
Chapter 23. Haskell’S Type System
Chapter 24. A Haskell Project: Testing Native Code
Chapter 25. The Many Faces Of Swift Functions
Chapter 26. A Functional Approach To Lua

Book Details

  • Title: Functional Programming: A PragPub Anthology: Exploring Clojure, Elixir, Haskell, Scala, and Swift
  • Author:
  • Length: 284 pages
  • Edition: 1
  • Language: English
  • Publisher:
  • Publication Date: 2017-07-30
  • ISBN-10: 1680502336
  • ISBN-13: 9781680502336