Hello!
I'm trying to make a few steps further in sorting out Maxima
share directories. Cliff already did quite nice work on it.
Thank you Cliff !
But before presenting results in the form of some script I'd to
discuss several points and ask for some advice.
1). File extensions. It seems that we already more or less
implicitly agreed to use following standard extensions
for Maxima files of various types:
.mac - Maxima source code
.lisp - Lisp source code
.dem - Maxima demo files (maxima code)
.usg - Documentation for packages in share directory
There are some troubles with renaming all files to such scheme.
(a) files in share* mostly have extensions .mc and .lsp and
sometimes filenames are hardwired in source code. So renaming
will certainly break something. This is not so important
at present since directory names (share,share1,2,m etc) are also
usually hardwired in source code. If we are going to get rid
of this historical share* scheme and replace it by more logical
one then some extra work on all share files are required
in any case.
(b) some packages have several demo files and
now the are named
package.dem package.dm1 package.dm2 ...
I suggest to rename them as follows
package.dem package_1.dem package_2.dem ...
2). Many packages have two files
package.mc and package.lsp
which are either completely equivalent (both lisp
code actually) or differ just by two-three lines - usually
some declarations or assignments in the very beginning
of file. I'm inclined to remove .lsp and replace it by .mc
renamed to .lisp.
3). In many other packages package.lsp is the lisp
equivalent of maxima source package.mc
automatically generated by some translator.
The question is - what is the purpose of these .lsp
files? Do they have any independent value or can be
easily re-created? If so I think we have to drop them.
Example: determ or kach package in share1
Richard, could you take a look on them and
return you verdict.?
In addition a few packages have extra files
package.LISP and package.UNLISP
(sometime they have other extensions).
.LISP also looks like automatically generated
lisp equivalent of .mc but has a bit different
structure.
.UNLISP looks like some log file.
What are they? Do we need them?
Example: fourie package in share1
4). Do anyone know exact purpose
of /demo and /mac directories?
Is /demo directory for some general demo
files which do not belong to any package
in share?
Is /mac directory intended for core Maxima
source files which is not lisp but rather maxima?
It seems that all files in /mac formerly
belonged to /share* but later were moved
into /mac.
Any comments are greatly appreciated,
Vadim
--
[ Vadim V. Zhytnikov <vvzhy@mail.ru> <vvzhy@td.lpi.ac.ru> ]