Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Integrating Editors with Programming Languages

3 views
Skip to first unread message

ucbvax!editor-people

unread,
Oct 31, 1981, 3:43:05 PM10/31/81
to
>From HEDRICK@RUTGERS Sat Oct 31 20:34:54 1981
1) Almost all current implementations of Lisp include vectors, which
allows for an arbitrary number of pointers without pay the
factor of two penalty (which isn't present in the increasingly common
CDR-coded implementation anyway). The following implementations
of Lisp for DEC-20's have vectors or something equivalent:
Maclisp, Interlisp, Elisp, and Standard Lisp

2) Even in primitive versions, "records" containing more than 2 objects
appears to be about the most common data structure which people
use. I programmed my thesis in Lisp, but have done mostly Pascal
programming for the last 3 years or so. Thus I have a fair claim to
know both styles of programming. I can only say that I do not recall
any bugs due to attempting to refer to data structures incorrectly,
but I know of a number of cases where I wanted to bypass Pascal's
type checking and found it hard (though possible, if you know the compiler
as well as I do) to do. Most people use macros rather than functions,
since this allows them to be compiled in line.

3) I normally use TVEDIT to prepare pictures of the sort you are
talking about. It allows you to move the cursor to any spot on the
screen, even if that spot (because of end of line, or tab) did not
exist before. Furthermore, it displays every character (even the
control characters which we use for line drawing on our Xerox 9700)
as taking one space.
-------

ucbvax!editor-people

unread,
Nov 1, 1981, 9:22:28 AM11/1/81
to
>From Admin.JQJ@SU-SCORE Sun Nov 1 14:12:34 1981
When I say I want a picture editor, I at least want facilities like
those provided by SIL, e.g. simple commands to "draw a box at the
current point", or "move the current rectangular area left 5 spaces
and down one", or "delete the current box".

If I'm doing a "boxes and arrows" picture, I want to be able to type
a LISP form in standard READ format and have an approximation of the
picture produced automatically. Then I want simple commands to allow
me to modify the picture, e.g. equivalents of RPLACA and RPLACD. Of
course, the package can only perform an approximation, since based on
((X Y) X Y)
we don't know if the (X Y) list is shared. What I most certainly
don't want to have to do is type every character in the picture or
worry about what characters to use for line drawing.

Unfortunately, the "box and arrow" editor, though not hard to write
(especially if written in lisp) is only one of many special-purpose
picture editors imaginable. What I really want, then, is a general
purpose picture editor that is easily customized for such special
purpose tasks. But I also want to have a picture editor that is easy
for the novice to use, i.e. has a command set that seems "natural" in
some sense. I don't know what that command set would look like.
-------

ucbvax!editor-people

unread,
Nov 1, 1981, 5:36:07 PM11/1/81
to
>From EAK@MIT-MC Sun Nov 1 22:26:47 1981
To: ihnss!cbosg!cbosgd!mark at Berkeley

Other people have already replied to your message about data
structures in lisp, but no one has made it clear that in the
mit-origin dialects doing what you want is probably as simple as
saying

(defstruct (node)
left-child
parent
right-child)

and later
(parent n) or (right-child n) or
(setf (left-child n) x)

ucbvax!editor-people

unread,
Nov 1, 1981, 7:38:09 PM11/1/81
to
>From DLW@MIT-AI Mon Nov 2 00:27:26 1981
In reply to Mark Horton's letter: you seem to assume that by integration of
editors with Lisp, he meant having an editor that edits the Lisp
list-structure representation of programs directly. Interlisp does indeed
do this, but the Lisp Machine does not. The Lisp Machine has a text editor
that knows a lot about the langauge, just as you suggest

ucbvax!editor-people

unread,
Nov 1, 1981, 10:20:23 PM11/1/81
to
>From cbosgd!mark@Berkeley Mon Nov 2 03:11:12 1981
I don't claim to be an expert on all the various dialects and
"standard features" of LISP, and I certainly admit that LISP,
being universal, can build whatever data structure you want.
But I was under the impression that the fundamental, comfortable
structure of LISP is the two-pointer cell. Such a cell is
certainly NOT what I would want to build a hairy graph out of.
0 new messages