[squeak-dev] self error: 'comment only'
K K Subbu
kksubbu.ml at gmail.com
Mon Mar 23 05:23:33 UTC 2020
On 23/03/20 3:29 AM, Eliot Miranda wrote:
> What I think Subbu’s analysis and this scaling problem implies is
> that the Help Browser is a great central location to go to to find
> documentation, but the Help Browser will be better if it is able to
> display class comments and documentation methods as well as its own
> help pages. My vote is to make the Help Browser multi-modal and
> about indexing tool for accessing help and documentation in as many
> turns as possible, including pointers to web pages and videos.
You're right! HelpBrowser is a great idea with lots of promise. Just as
CodeHolder extends StringHolder to accept and compile code into objects,
we need a HelpHolder be able to accept small text runs (paragraphs and
spans, figures, tags and links etc.) and weave them into a graph. We
could elevate the current comment node into such a holder.
The code holder, through which we accepted structured text, comes with
many facilities (e.g. explain, code completion, senders, etc). We need
similar facilities for accepting parts of help topics (e.g. class/ivars
name changes should be applied not only to code but also to the docs,
generate warnings about refs to deprecated classes/methods, identify
The current browser is designed for viewing/editing code. But to change
any large system, one has to build a mental model by studying existing
class hierarchy, instvars and methods and only then move into code-test
cycles. For people who work with Squeak daily, mental model is always
active. But weekend Squeakers like me will need to refresh our mental
models through reading. My typical workflow is - study topic, recall
hierarchy (with its instance vars) and then subclass or modify methods.
The code pane could start with the help topic swiki instead of the code
holder (subclass template).
In short, help topics should be a live and direct view into the object
graph of both machine-readable code and human readable text so every
code is browsed within this larger context. This will reduce most of the
tedium of keeping code and doc in sync.
Regards .. Subbu
More information about the Squeak-dev