Apple Dylan Screenshots - Browsers¶
Paul R Potts writes:
Here is a simple example: a single-pane browser that shows a call graph. One function is displayed, called turtle-forward! (note: the exclamation point is part of the name, and by convention, generic functions that end in an exclamation point change the state of the objects they are passed). The functions called by turtle-forward are shown. These include getters, since even simple slot access is done through getter functions, whether it ultimately results in a real function call at run-time or not.
Note that the functions include things that would generally be
considered intrinsic to the language, if one comes from a static
language background, like the +
operator, which is shown to actually
be a generic function with a whole hierarchy of specialized methods for
handling “plus.”
Now, here’s another browser, called “function family.” It really shows generic functions. This is the generic function “+”. Note that hard-coded intrinsic functions are still displayed, but no source is available.
This browser shows direct methods, and is designed to be used with a class. In other words, it shows all functions that operate on the “turtle” class, but not its ancestors.
Here’s a useful one: it displays all direct methods and slots of a class together.
There were several other specialized browsers available for displaying all references from an entity, all references to an entity, but I think you are beginning to get the idea. Whatever aspect of your code you might want to focus on, Apple Dylan was designed to provide you a way to see it clearly. The dynamic nature of the language gave you much more confidence that what you were saw in the IDE would correspond more closely to what would happen at run-time.
Next in Apple Dylan Screenshots - Dynamic: a little bit about the dynamo (application nub), the listener, and the debugging tools available.