Type classes in Scala - Type classes are a powerful and flexible concept that adds ad-hoc polymorphism to Scala. They are not a first-class citizen in the language, but other built-in mechanisms allow to writing them in Scala. This is the reason why they are not so obvious to spot in code and one can have some confusion over what the β€˜correct’ way of writing them is. This blog post summarizes the idea behind type classes, how they work and the way of coding them in Scala.

Shapeless 101 - Shapeless is an advanced functional programming library for the scala language. The presentation talks about few shapeless patterns such as generic, polymorphic functions, aux pattern, product and coproduct, witness, singleton.

The Type Astronaut’s Guide to Shapeless Book - aimed at experienced Scala hitch hikers with an interest in generic programming and boilerplate elimination. The book walks you through one of the main use cases for shapeless – automatic, boilerplate-free derivation of type class instances.

Building a REST API with Finch and Finagle - step-by-step tutorial to create a simplest proxy endpoint with Finch and Finagle.

A JSON library for Scala powered by Cats