num_pages: 780
description: 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 books 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 All told the book contains 120 small chapters. Source code examples from the book are available as a series of Github repositories that you can download and work with. 
language: None
title: Functional Programming, Simplified:
publisher: None