BFPG Monthly Meetup


FP in Scala Chapters 11&12 - Andrew Newman

Chapter 11: Monads

In the previous chapter, we introduced a simple algebraic structure, the monoid. This was our first instance of a completely abstract, purely algebraic interface, and
it led us to think about interfaces in a new way. A useful interface may be defined only by a collection of operations related by laws.

In this chapter, we’ll continue this mode of thinking and apply it to the problem of factoring out code duplication across some of the libraries we wrote in parts 1 and 2. We’ll discover two new abstract interfaces, Functor and Monad , and get more general experience with spotting these sorts of abstract structures in our code.

Chapter 12: Applicatives

In this chapter, we’ll learn about a related abstraction, applicative functors, which are less powerful than monads, but more general (and hence more common). The
process of arriving at applicative functors will also provide some insight into how to discover such abstractions, and we’ll use some of these ideas to uncover another useful
abstraction, traversable functors. It may take some time for the full significance and usefulness of these abstractions to sink in, but you’ll see them popping up again and again in your daily work with FP if you pay attention.

Lightning Talks (5 mins per talk)

Rest APIs in Clojure - Ben Kolera
Monocle (Lenses/Prisms/Traversals in Scala) - Ben Kolera
GHC rewrite rules - Fraser Tweedale
Haskell's Best Feature - George Wilson

If you have a lightning talk, please let Ben know at ben dot kolera at gmail.

BFPG Survey Results & Future Planning

We will go through the results of the member survey and discuss some plans for the future as a group.