Subject: how to stop the annotation of lists by filenames?
From: Richard Fateman
Date: Fri, 30 May 2008 14:20:10 -0700
Oliver Kullmann wrote:
>
> b) Perhaps easiest is to to create a new file, say, "NEW_mload.lisp",
> which contains the definition of new_mload, just copied from the
> existing sources, but using new_add-lineinfo (which is trivial).
> This file would be injected into the src-directory at build-time,
> hopefully compiled with the rest, and then I can choose between
> these two load-versions, with or without annotations.
>
Hardly necessary to inject it into the src directory. Just load it in
to your maxima, using the .init file in your pathname.
Altering the source tree and re-building a system is, in my opinion, a
terrible technology that was introduced to maxima
and other large systems build in lisp, from the word of batch
processing, C, etc.
In 1966-1980 or so, the way to patch "macsyma" was to start up the most
recent stable version, and the load in all the fixes.
This was fast and it meant that you could either use the last stable
version or use the one that is the most recent, up to the second,
or test your patches on the most recent system, up to the second.
Now building Maxima on GCL is done using programs written in all kinds
of languages, most of the time. However, it is
possible to build Maxima by starting up a lisp system, loading lisp
programs that are equivalent to "make" roughly speaking,
(defsys), and building a maxima system set of compiled files, loading
them up, and dumping them to a lisp.
And if you want to make a new system with a patch, all that may be
necessary is to load up a new patch file to a working maxima,
and repeat the dump step (which takes a second or two).
I do not know if something like that can be done as conveniently with
"make" and friends.
But that is the price of "progress".
RJF