Debug as an Effect (DaaE)
April 21, 2025 ยท View on GitHub
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.
Important
Turbolift requires Java 11 or newer.
- OriginalDemo - The original demo from stepwise, shown in the video. Translated to Scala.
scala-cli https://raw.githubusercontent.com/marcinzh/daae/master/modules/demos/src/main/scala/demos/OriginalDemo.scala
- TreeWalk - Using multiple effects. Demonstrates that when
Debuggoes back in time, local state (e.g.Reader,State,Writer) gets restored as well.
scala-cli https://raw.githubusercontent.com/marcinzh/daae/master/modules/demos/src/main/scala/demos/TreeWalk.scala