Maven Central

Debug as an Effect (DaaE)

Tiny debugger, implemented with Algebraic Effects.

Inspired by stepwise for Unison language.

In this announcement post on Twitter, the author linked this 3-minute video, showing the debugger in action.

This project is a reimplementation of the idea in Scala, using Turbolift effect system.


You can run included demos using scala-cli:

  1. OriginalDemo - The original demo from stepwise, shown in the video. Translated to Scala.
  1. TreeWalk - Using multiple effects. Demonstrates that when Debug goes back in time, local state (e.g. Reader, State, Writer) gets restored as well.