Re: Syntax-directed editors and Lisp

Alan Gunderson (gunderso@edfuc4.ctis.af.mil)
2 Aug 1994 21:51:09 GMT

bane@cs.umd.edu (John R. Bane) wrote:

> Medley, Venue's Interlisp-D derived environment, wants you to do your code
> editing with a Lisp structure editor named SEdit. SEdit is really cool:

> Cut and pasting is per-character within symbols, per-S-expression for larger
> constructs. The only thing you can't do directly is grab one parenthesis
> and move it; you have to select the whole structure, do Remove Paren,
> multiple-select the new group, and do Add Paren.

Having done a lot of InterLisp-D programming using an earlier version of SEdit
called DEdit, I have several observations. It was so easy to cut and
paste forms that a lot of code ended up being duplicated in functions rather
than the common code being genralizedinto seperate functions. Also, the
InterLisp-D functions easily grew into much larger pieces of code than was
appropriate, e.g., a lot of functions grow in excess of 100 lines of code.
Again, I attribute this large function size to the ease of manipulating a
large function with a syntax directed editor. It was also probably a symptom
of the fact that the editing was on a function-by-function basis, so it was
easier to extend an existing function than create a new set of functions,
especially since new functions had to be "registered" in the file COMS
database.

It could be argued that all of the above observations only require more
discipline by programmers to avoid the pitfalls. This is probably true,
but I observed the same tendancies in code produced by 10 very skilled
and disciplined industrial programmers that used the InterLisp-D
syntax directed editor.I am led to conclude that the metaphors in
a sytax directed editor such as DEdit promote the tendencies. It would
be interesting to hear if similar observations have been seen by other
users of syntax directed editors.

--- AlanG