Название: Functional Programming, Simplified: (Scala edition)
Автор: Alvin Alexander
Год: 2017
Страниц: 890
Формат: PDF, EPUB, AZW3
Размер: 10 Mb
Язык: English
“Functional Programming, Simplified (Scala edition),” makes the process of learning functional programming (FP) in Scala as simple as possible by breaking down complex topics into small, bite-size chunks that are easy to understand. The lessons are presented in a logical sequence — the order in which the author learned them — culminating in advanced topics like functional domain modeling, and how to write and use monads.
Some of the book’s lessons include:
- A simple set of rules for functional programming in Scala
- How and why to write pure functions and use immutable variables
- Why function signatures in FP are *much* more important than method signatures in OOP
- How pure functions work with I/O (file, database, and network)
- How to read anonymous functions
- Lessons on recursion, with many images to help explain how it works
- How the concepts of JVM stacks and stack frames work
- Partially-applied functions and currying
- How using Option naturally leads to flatMap, and how flatMap naturally leads to for-comprehensions
- How and why to use case classes and pattern matching
- How to use monads like State and IO
- How to use monad transformers like StateT
- How (and why) to write your own monads
- Domain modeling in functional programming
- How to use “lenses” to update immutable data models
- Concurrency lessons cover Akka actors and Scala futures
- Visual lessons on collections’ methods like fold and reduce
- How to use the ScalaCheck property-testing framework
- How to write and use “type classes”
- Algebraic Data Types (ADTs) are explained