2 ms·
Debugging complex Lisp metaprogramming is a piece of cake in the overall debugging landscape. - It is not distributed across machines. No distributed fault tol
by kazinator 2y ago
Debugging complex Lisp metaprogramming is a piece of cake in the overall debugging landscape.
- It is not distributed across machines. No distributed fault tolerance issues.
- It doesn't run on a resource constrained embedded system, with poor visibility, but in your dev environment.
- It runs in a single thread; no flaky race conditions or deadlocks to debug.
- Its expansion-time performance rarely matters; and it is rarely bogged down with machine dependencies or other low-level stuff.
- It is unit-testable with cases does construct X expanding to construct Y.
I would rather debug a macro than any number of other things I've also debugged.