I think editing the parse tree idea is a good one.
At 07:26 PM 10/24/98 -0500, Dwight Hughes wrote: [snip]
On comments: if comments were considered as a peculiar type of language construct rather than just another form of whitespace, then it could be inserted into the tree along with the rest of the nodes; the CommentNodes could act as placeholders and be placed at the proper position in the tree for source reconstruction.
[snip]
I've always thought of comments as like Post-It notes -- select the code they apply to (decorate?).
For twenty years I've wondered why humans have to insure that the syntax in a whole bunch of code is correct and then give it to the compiler so it can tell you that you got it wrong. I've wanted a smart editor that will present me with a list of possible next things, and then let me select the one I want. I wouldn't have to go looking around for how I spelled a variable or class name, or forget a bracket or period. Computers seem much better at "remembering" large bunches of stuff than humans. As a COBOL programmer the only time I typed in a new program was when I moved to a new job. I'd type the first one and then copy it until I left. I never could remember the right format of all those sections.
I also want an auxiliary project dictionary (or something) like the auxiliary document dictionary in WordPerfect. When I work on my novel then spell check it, the auxiliary dictionary has all my character names and other words unique to my novel. I don't have to tell the spell-checker to ignore them. Coupled with the smart editor above, when I ask for the list of possible next things, if a variable is appropriate, a list of from project auxiliary dictionary is one of the items I can select.
I've wonder nearly twenty years why the parse tree wasn't kept and edited. Seems it would make lots of things easier on us humans--searching where a variable is used or a function called, etc. On the mainframe editor, I always had trouble remembering what the three letter commands were. It seems like programmers and their tools are like the cobbler's children and their shoes--everybody else comes first.
Keeping and editing source code seems analogous to keeping and editing a text file to maintain you database data--a tedious and error-prone method.
I really think information about a project or program should be in the source and have full text formatting capabilities. Smalltalk source poses an interesting problem in that the development environment would be HUGE if this were done, but I think fast and efficient storage out of ram might be found. One of the reasons I chose Squeak was that it had text formatting capabilities built in.
Now, who has the email address of the Programmer's Tool Faerie, or all you folks keeping that close to you chest along with that of the Languange Faerie?
-- Richard A. Harmon "The only good zombie is a dead zombie" harmonra@webname.com E. G. McCarthy
squeak-dev@lists.squeakfoundation.org