[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: contours, locales and modules.

Yes, I was thinking of Mesa when reading Chris's comments.  But Mesa is
far more than the interconnectivity of variable and/or function names.
The type declaration mechanism forces the programmer to describe very
carefully the *shape* of every value that will be considered in a
program [true, loopholes are there, but . . .].  The "Interface"
declarations force him to declare the "black box" i/o behaviour of every
function (shape of data going in, shape of data coming out).  And the
IMPORTS/EXPORTS declaration force him to describe the sharing and
connectivety of separate modules.

I have had numerous ocasion to "read" some Mesa code, and transcribe it,
or re-create the ideas, in Interlisp-D.   I hold a great respect for the
language; I feel it is the best of its genre (and I don't say this just
because I'm a Xerox employee).  Totally foreign code was moderately
clear to me, even in the face of a low level of ordinary commentary.

I still prefer Lisp to Mesa -- for one thing, the "turn around time" for
a typical Edit/Debug cycle is much faster -- but I must confess that
many Lisp programmers would never have taken the care to modularize
their programs the way that Mesa systems programmers apparently have to.
Maybe it was a pain in the neck for them (Mesa coders) to adhere to that
style, but it certainly made my job a lot easier.

-- JonL (Jon L White) --