Comment by 6ren
13 years ago
And recursion. Light table's display is like a stacktrace, but each line expanded to the whole function. These scaling problems can be solved: exclude some functions, esp libraries (e.g. "native" functions like map aren't expanded). And standard scaling tricks e.g. one line, click to expand (like his doc navigator).
By "context", you mean you nominate a deeper function to display, but then how do you know which call to it is displayed? I think the answer is to display the rest of it, but collapsed/summarized. hmmm, the call trace is a tree in general, so that's getting a little hairier to manage. (NOTE: a tree, assuming you display a fresh instance of a function for each invocation, which you need to do to show the correct variable values)
SubText handles recursion well. It shows the toplevel invocation, and when you click on a recursive call in that invocation, then that recursive call opens next to it. Like this you can expand the call graph as you with.
A demo shows it better than words: http://subtextual.org/demo1.html
And a newer demo, although it does not show the call graph expansion: http://subtextual.org/subtext2.html