experimenting...
Vinca did a small experiment of building an interpreter based on persistent data. With persistent data, it's easier to keep references to all the steps of evaluation. Thus, by reading the references, we can figure out how is the value calculated from code. This may help in creating a more interesting debugger for learning and researching purposes.
Workflow https://github.com/mvc-works/coworkflow
MIT