A DSL should have its own debugger

Give me a tower of debuggers!


From research journal entry 2023-02-24:

For example, an FRP debugger should tell you “what is true at time t” (values of behaviors, any event occurrences). If say you wrote an infinite recursion in the non-FRP code, you should be able to drop down to a friendly execution model for that code.

I’m currently not sure what exactly is needed to make this happen.

If you make an embedded DSL I suppose you can also implement a little debugger for it, but the real trick would be for your debugger to be aware of the debugger for the language below you. This is even more important if programs in the DSL can use abritrary code.