Text traces and python's pdb have been my main tools for studying mypy. But text traces, no matter how well designed, can't easily be analyzed further. Instead, an enhanced debugger could gather persistent python data structures.
Leo's existing clone-find commands represent relations between outline nodes. We can extend this idea! User-defined clone-find-by-relation (cfr) scripts can create outlines (relationships) using those python data structures.
An enhanced (Leo aware!) python debuggerclone-find-by-relation is a framework for invention, not a Leo command.
An enhanced debugger will gather dynamic data. In contrast, Leo's clone-find commands represent static relations between nodes.
- Aha: A special-purpose debugger can collect arbitrary dynamic python data.
Leaving aside a possible customized debugger, is this the concept?
1. Some utility...outputs information directly into a Leo outline (I would prefer that it not be the outline under test);
2. Use clone-xx with predicates on this outline to extract nodes of interest that may be related;
Personally, I think these capabilities would be very helpful:1. When a stack trace outputs a line/position in a file (which could be, say, a Python standard library module, not necessarily your own code), control-click would open that file for you and navigate to the location;
Personally, I think these capabilities would be very helpful:1. When a stack trace outputs a line/position in a file (which could be, say, a Python standard library module, not necessarily your own code), control-click would open that file for you and navigate to the location;I wasn't thinking along those lines. When the data are in an outline, we can use clones to filter and reorganize the nodes.Edward
I was talking about when we get a stack trace during execution of some code that's in a Leo outline. The trace shows a number of steps with file names and line numbers. If a step occurs in a file that is in a Leo outline, it would be useful to be able to go directly to the particular line in right node in the outline. If the step occurs in a non-Leo file, it would be helpful to open that file and go directly to the right line. I realize this isn't quite on-topic, but the subject got me thinking about other ways to make study and debugging easier and more effective.