cats

A Scala “functional programming style” To-Do List application written with Cats alvin August 11, 2019 - 3:56pm

Back when I was writing Functional Programming, Simplified I started to write a little Scala/FP “To-Do List” application that you can run from the command line, based on a similar application in the Learn You A Haskell For Great Good book. For reasons I don’t remember, I decided not to include it in the book, and forgot about it until I started using GraalVM (“Graal”) recently.

“Shtop Thinking” ~ Guardians of Being (Eckhart Tolle)

There are many nice cartoons/illustrations in Eckhart Tolle’s book Guardians of Being: Spiritual Teachings from Our Dogs and Cats, and this “Shtop Thinking” cartoon is one of my current favorites. (The book is a collaborative effort between Mr. Tolle and Patrick McDonnell, artist/illustrator/cartoonist who may be most well known for his “Mutts” cartoons.)

Scala: Popular tools, libraries, and frameworks

Table of Contents1 - Build tools2 - Testing tools3 - Database4 - Functional Programming5 - Asynchronous/parallel/concurrent programming6 - Web frameworks7 - JSON8 - HTTP clients9 - Configuration/properties10 - Many more

This page is a collection of popular tools, libraries, and frameworks for the Scala programming language.

Back to top

Build tools

This is a page from my book, Functional Programming, Simplified

Type Classes 103: The Cats Library

As a final example of how to use type classes in Scala, I’ll show how to repeat the example from the previous lesson using the open source “Cats” FP library for Scala. With the examples you’ve seen already, this will be a quick process.

Source code

Step 1 is to clone my source code for this lesson, which is available at this URL:

This is a page from my book, Functional Programming, Simplified

Scala Type Classes 101: Introduction

“A type class is an interface that defines some behavior. More specifically, a type class specifies a bunch of functions, and when we decide to make a type an instance of a type class, we define what those functions mean for that type.”

Learn You a Haskell for Great Good!

Source code

The source code for all of the type class lessons is available at the following URL:

This is a page from my book, Functional Programming, Simplified

Signpost: Type Classes

In this section of the book I’ll cover Scala type classes, a programming technique that lets you add new behavior to closed data types. The use of type classes isn’t strictly limited to the functional programming style, but because they’re used so much in the Cats library — an FP library for Scala — it’s important to know how they work.