Subject: Re: [historical] Invoking a Lisp compiler
From: Erik Naggum <erik@naggum.no>
Date: 1999/01/22
Newsgroups: comp.lang.lisp
Message-ID: <3125967092999949@naggum.no>

* Matthew Economou <xenophon@irtnog.org>
| Can anyone tell me (or point me to the relevant history) how the Lisp
| compiler has traditionally been invoked?  I've found some documentation
| on the internals of a Multics Lisp compiler called "lcp", but no manual
| page.  The modern Lisps I've run across (e.g. Allegro CL, GCL, Chez
| Scheme) don't have a "batch" mode, per se (e.g., a non-interactive
| program like "cc").

  well, I'm not too sure about this part of Lisp lore, but since the
  function is COMPILE-FILE, I'd assume that it's called much like any other
  function in the listener that effectively replaces the shell command line.

  other than that, there is indeed a batch mode in Allegro CL.  e.g., I
  build a new Allegro CL image with this Makefile:

allegro.dxl: allegro libacl503.so customization.fasl make-allegro.cl update code
	./allegro -batch -e '(load "make-allegro.cl")' -kill
	mv --force --backup --version-control=t new-lisp.dxl allegro.dxl

allegro:
	ln -s lisp allegro
	cp -p lisp.dxl allegro.dxl

customization.fasl:	allegro ../custom/*.cl
	./allegro -batch -e '(load "../custom/customization.cl")' -kill

  and customization.cl goes like this:

(defsystem :customization
    (:pretty-name "Customizations for Naggum Software"
     :default-pathname #p"/home/franz/custom/")
  (:serial "readtable"
	   "custom"
	   "naggum-software"
	   "defsys-fixes"
	   "excl-fixes"
	   "tpl-fixes"
	   "format-fixes"
	   "filesys-fixes"
	   "socket-fixes"))

(load-system :customization :silent t :compile t :no-warn t)
(concatenate-system :customization "customization.fasl")

  incidentally, I forget why I did LOAD-SYSTEM instead of COMPILE-SYSTEM.
  there is a reason to it.

#:Erik
-- 
  SIGTHTBABW: a signal sent from Unix to its programmers at random
  intervals to make them remember that There Has To Be A Better Way.