[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) --