[Gcl-devel] RE: [Maxima] Make or defsystem



There is a survey paper on this topic by Erik Sandewall that appeared
in ACM Computing Surveys, a long time ago. The residential lisp
system typical of Lisp machines, Xerox, BBN (Inter-lisp) contrasted
with the development environment where you edited/compiled files, loaded
them into some executable form, and then tested.

Maclisp, and the original Macsyma environment was not "residential" quite,
but had closely coupled editing/running facilities. There was also a system
definition/compilation program, somewhat like Make, but historically
earlier. "Making" Maxima on Allegro CL does not require using Make
at all but some defsystem stuff; however that system doesn't include loading
C programs for plotting etc.

Some arguments against Make:
1. It is not available everywhere, necessarily.
2. It has a different syntax, and different semantics too  (hence the 
need for configure).
   It requires a programmer to know yet another language.
3. Makefiles are not visible to the running lisp, so it violates the 
principle
that programs should be data.

Some arguments in favor of Make:
1. So many of the lisp systems have pieces written in C (or C++ or Tcl 
or Perl ...)
that an "agnostic" Make is better than running everything from Lisp.
2. The lisps Maxima is using are more non-standard in some respects than 
even Make.
3. People unfamiliar with lisp may be familiar with Make, and hence 
instructions
that say "run make" will be comforting.
4. There are worse things than Make. Microsoft Visual XXX .NET for example.
5. Make can be used for stuff like typesetting manuals with TeX, and why 
not use
it if someone has perfected a script. 

RJF