Functional Programming in Scala Chapters 9 & 10 by Andrew McCluskey (@ajmacca)

Functional Programming in Scala Chapters 9 & 10

By Andrew McCluskey (@ajmacca)

Andrew McCluskey will be continuing our FP in Scala series, covering chapters 9 and 10. Chapter 9 brings part two to its conclusion with an example of algebraic design applied to a parser combinator library. Algebraic design focuses on identifying the abstract data types, operations over them, and laws that constrain them - the algebra - before considering a concrete implementation. Andrew will take you through the process at a high level and briefly discuss his experiences working through the chapter.

What do concatenating strings, adding integers, and parallel computations have in common? Andrew will explain in the second half of his talk, as he takes you through chapter 10. Chapter 10 covers Monoids, and is the first in part three of the book, which introduces some common patterns in functional programming and develops them into algebraic abstractions. While this might seem more theoretical than practical, Andrew plans on convincing you otherwise. He'll start by briefly covering why developing these abstractions is a useful thing to do and then dive into what a Monoid is, providing concrete examples as he goes.