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.

image


You can run included demos using scala-cli:

  1. 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  
  1. TreeWalk - Using multiple effects. Demonstrates that when Debug goes 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