Scala Books

Scala Books: The Ultimate Guide for Aspiring Scala Developers

Scala, a powerful language for functional programming, offers a unique blend of object-oriented and functional programming paradigms. Whether you’re a beginner or an experienced developer looking to delve deeper into Scala, the right resources are crucial. Here’s my handpicked list of books, each serving a specific purpose in your Scala learning journey.

Essential Scala

Essential Scala: Ideal for beginners, this short book provides a concise introduction to Scala. It’s free and perfect for those who want to get a quick start without feeling overwhelmed.

[Read More]

Akka Best Practices

  • Don’t share mutable state among actors

  • Do not close on the sender

  • Do not close over an actor’s context

  • Do not use the scheduler with the Runnable trait

  • Do not declare one actor within another.

  • Never pass an actor’s this reference into Props

  • Actors do not stop automatically when no longer referenced, every Actor that is created must also explicitly be destroyed. The only simplification is that stopping a parent Actor will also recursively stop all the child Actors that this parent has created.

    [Read More]

Free Monads

Resources on learning free monads

Here are some resources about the free monad in scala . At some point I need to write summaries for each entry :)

Blog posts

Free Monads I had bookmarked this sometime ago and seems to be very to the point without a lot of theotitical analysis

Free Monad - Cats Documentation by Pascal Voitot

herding cats - Free monads by Eugene Yokota

Deriving the Free Monad by Noel Welsh

Free Monads Are Simple by Noel Welsh

[Read More]

Shapeless: Introduction resources

Where to start if you want to learn shapeless

Recently I decided to have a better look at shapeless, the generic programming library for scala. In the previous couple of years I had bookmarked several links and have recently read all of them . In this blog post I present the most useful ones for someone who want to be introduced to the library.


The following blog posts are introductory to shapeless. Basically they are a smooth introduction to shapeless , something to warm up

[Read More]

Shapeless : Computing deltas

A real life example

This is the code and some personal notes from the Shapeless? - Easy! talk where Valentin Kasas explains in a great way an advanced example of a real life use case (with slides).

Computing deltas

  • Imagine we want to be able to determine what are the difference between two objects of the same type
  • For example, we need to know what have changed in our DB since the last backup
  • We need to be able to compute such deltas over a wide variety of classes, that are unrelated
  • Of course, doing this by hand for each and every class is not an option

Our diff representation

[Read More]

Scala libraries

Whenever I come I across a Scala library I take a note of it here. This collection is neither complete nor have I used all of these libraries. It is mainly used as a point of reference if I want to find some functionality implemented in a Scala library.

Akka

Server Sent Events for Akka HTTP

toy project implementing RAFT on top of Akka Cluster (not prod ready)

[Read More]