This page contains updates for my book, Functional Programming, Simplified (PDF). As I find good, new resources, and as I create new projects to demonstrate functional programming techniques, I’ll share those here.
Bug reports
If you find any bugs, typos, or other mistakes in Functional Programming, Simplified, you can file a bug report under the Issues tab at this Github project:
Over time I may put other open source Scala/FP projects in that repo, but for now I’m using it as a place to report bugs.
A new version of Cats is available
- Cats 1.0.0-RC2 was released today (December 19, 2017) (Cats is now up to v1.6.0 in March, 2019)
Chapters that didn’t make it into the printed book
As I’ve noted in several places, several of the chapters from the eBook versions of Functional Programming, Simplified didn’t make it into the print version of the book because of size restrictions. Therefore, I’ve made those lessons available online at the following URLs:
- Grandma’s Cookies (a lesson about pure functions)
- ScalaCheck 1: Introduction
- ScalaCheck 2: A More Complicated Example
- Type Classes 101: Introduction
- Type Classes 102: The Pizza Class
- Type Classes 103: The Cats Library
- Explaining Scala’s `val` function syntax
- The Differences Between `val` and `def` When Creating Functions
- Appendix: Recursion is Great, But ... (Scala’s fold and reduce)
- Scala `for` expression translation examples
- On Using `def` vs `val` To Define Abstract Members in Scala Traits
- Algebraic Data Types in Scala
Other FP resources
This is a list of FP-related learning resources I’ve found since writing the book:
- I haven’t watched this yet, but here’s a video titled, Practical Cats
- A Scala functional programming style To-Do List written with Cats
- Functors, applicatives, and monads in pictures (Haskell)
- Rob Norris’ Scala Days 2018 talk, Functional Programming with Effects
- Paul Snively’s “Scale By The Bay” talk, FP Scala Meat & Potatoes: HTTP, JSON, & SQL with http4s, Circe, & Doobie
- John Hughes has a talk on property-based testing, from the 2019 Lambda Days conference
- Here’s a decent Monoid introduction
- October, 2018: Seven Sketches in Compositionality: An Invitation to Applied Category Theory (PDF)
- Microsoft has an interview with Simon Peyton Jones, FP researcher and Haskell co-creator (1/10/18)
- An article titled, The Science Behind FP
- Functional Data Sructures (in OCaml), by Prabhakar Ragde
- A Little Taste of Dependent Types: A YouTube video by David Christiansen
- Functional Programming is Terrible, a video by FP advocate and author, Rúnar Bjarnason
- The arrow-kt.io project has some docs that might help with FP in Kotlin
- The online version of the old (classic?) book, Structure and Interpretation of Computer Programs, might be helpful
- A free book titled, The Science of Functional Programming
Example Scala apps
- This is a little off topic, but if you’re interested in seeing a Scala application written with JavaFX, here’s my “Notes” application. I use as much FP as I can in the app, but frankly, there isn’t much FP in the app because it’s all about the GUI, GUI events, and database I/O.
- Futureboard is a Flipboard-like demo Scala futures demo (it doesn’t focus on FP, but it does demo futures)
- Here’s another link to my Scala/FP To-Do List app
The book
If you haven’t read it yet, here’s a link to the book: