Functional Programming in Scala

Front Cover
Manning, Sep 14, 2014 - Computers - 320 pages
0 Reviews

Summary

Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

Functional programming (FP) is a style of software development emphasizing functions that don't depend on program state. Functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs than other code. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with Java make Scala a great place to start learning FP.

About the Book

Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to their everyday work. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming.

This book assumes no prior experience with functional programming. Some prior exposure to Scala or Java is helpful.

What's Inside

  • Functional programming concepts
  • The whys and hows of FP
  • How to write multicore programs
  • Exercises and checks for understanding

About the Authors

Paul Chiusano and R nar Bjarnason are recognized experts in functional programming with Scala and are core contributors to the Scalaz library.

Table of Contents

PART 1 INTRODUCTION TO FUNCTIONAL PROGRAMMING
  • What is functional programming?
  • Getting started with functional programming in Scala
  • Functional data structures
  • Handling errors without exceptions
  • Strictness and laziness
  • Purely functional state
  • PART 2 FUNCTIONAL DESIGN AND COMBINATOR LIBRARIES
  • Purely functional parallelism
  • Property-based testing
  • Parser combinators
  • PART 3 COMMON STRUCTURES IN FUNCTIONAL DESIGN
  • Monoids
  • Monads
  • Applicative and traversable functors
  • PART 4 EFFECTS AND I/O
  • External effects and I/O
  • Local effects and mutable state
  • Stream processing and incremental I/O

What people are saying - Write a review

We haven't found any reviews in the usual places.

About the author (2014)

AUTHOR BIO

Paul Chiusano has been writing and shipping functional code in Scala since 2008 and is responsible for the introduction and growth of Scala usage at his company, Capital IQ. As part of this effort he co-designed a functional programming curriculum with R nar and taught an internal course for coworkers interested in learning FP. Paul is also a regular blogger and speaker on functional programming and Scala. R nar Bjarnason is a self-taught programmer with 12 years of industry experience, with a focus on functional programming since 2008. R nar is a prolific blogger and occasional speaker on functional programming and the Scala programming language. He is a principal contributor to the Scalaz library for Scala and the Functional Java library for Java.

Bibliographic information