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

Re: A proposal

My experience with using Common Lisp for software engineering is
that it is less than ideal. As Kelly outlined in his note, the
package system and provide-require are just insufficient for
keeping track of dependencies in a large system. I think a
properly structured DEFSYSTEM construct would certainly be
of benefit; however, whether that should be part of the environment
or part of the language is another question. Perhaps we need
a standard environment (like U*nix) as well?

In addition to the problem with large scale system building, the
lack of seperation between a function interface and its implementation
(such as occurs in Mesa and Ada) makes modification of software
components in a large system difficult. The DECLARE facility is,
again, insufficient, as are most object oriented dialects. DECLARE
bundles the interface and implementation into one thing (the
DEFUN), while most object oriented dialects allow (potentially
untyped) parameters to messages, and hence suffer from the same
problem as DECLARE-DEFUN. While a construct to aid seperation of
function/message interfaces and implementations would help
in large scale systems building, it may hamper the use of
Common Lisp as a prototyping language, unless constructed so
that a smooth transition between prototyping and production
were possible.
		Jim Kempf		hplabs!kempf