Roland Salz
2017-07-22 21:32:56 UTC
Hi,
Only from a 2015 mailing list answer by Barton (thanks from my side) about ?print I found out that basically every
lisp-function can be used directly from within Maxima without preceding it by :lisp, and in the usual Maxima function
notation instead of CL's list notation. So instead of
:lisp (print a) I can also say ?print(a); in order to show the internal structure of an
expression.
But e.g. I could also say (provided that I have managed to declare "-" alphabetic)
?lisp-implementation-version();
And this notation has a significant advantage over saying :lisp (lisp-implementation-version),
because I can use it within other Maxima functions, expressions, assignments, e.g.
print(?lisp-implementation-version()); or
lispname: ?lisp-implementation-type();
Why am I writing this? We don't find this feature described in the manual. There is a minimal hint where "?" is
described, but this hint definitively is not enough to understand the scope of this feature and its possibilities. This
in my opinion is symptomatic for the Maxima documentation. Maxima has a lot of nice features which practically no one
knows. And if they are described in the manual, this description is often so cryptic and stenographic, that only someone
can understand it who knew it beforehand anyway. I'm aware of the fact that the manual has already 1100 pages. But
Maxima is very complex, and if the pdf file would have 2000 pages instead, but describing a lot more features in an
understandable way, I think Maxima would significantly gain. Nowadays, no one needs to print that out, it's only a pdf
file.
There is another significant drawback about the current manual, and this is its structure. The structure is fairly
elaborated and ok up to chapter 38, debugging. But after that, the structure basically vanishes and the whole thing
becomes an encyclopedia of packages, in alphabetical order. This means, there is no structured table of contents or any
index of features or search-terms which are not functions or variables.
The situation is even worse for packages that people write with a lot of effort and a lot of time and which then are not
even incorporated in Maxima any more. These packages aren't documented in the manual at all, either. So who is going to
know about them and use them? I can understand anyone who wrote one package for Maxima and then does it never again,
seeing what the result was.
What I also understand is the fear that all the valuable information that has been piled up in the manual carefully over
the years and decades might be screed up by someone who does not fully understand it. This of course is a real danger,
and this must not happen. But the current manual is also dead in some respect, and it should come to life again. In my
opinion, Maxima will not develop further, if the manual doesn't.
Best regards,
Roland
Only from a 2015 mailing list answer by Barton (thanks from my side) about ?print I found out that basically every
lisp-function can be used directly from within Maxima without preceding it by :lisp, and in the usual Maxima function
notation instead of CL's list notation. So instead of
:lisp (print a) I can also say ?print(a); in order to show the internal structure of an
expression.
But e.g. I could also say (provided that I have managed to declare "-" alphabetic)
?lisp-implementation-version();
And this notation has a significant advantage over saying :lisp (lisp-implementation-version),
because I can use it within other Maxima functions, expressions, assignments, e.g.
print(?lisp-implementation-version()); or
lispname: ?lisp-implementation-type();
Why am I writing this? We don't find this feature described in the manual. There is a minimal hint where "?" is
described, but this hint definitively is not enough to understand the scope of this feature and its possibilities. This
in my opinion is symptomatic for the Maxima documentation. Maxima has a lot of nice features which practically no one
knows. And if they are described in the manual, this description is often so cryptic and stenographic, that only someone
can understand it who knew it beforehand anyway. I'm aware of the fact that the manual has already 1100 pages. But
Maxima is very complex, and if the pdf file would have 2000 pages instead, but describing a lot more features in an
understandable way, I think Maxima would significantly gain. Nowadays, no one needs to print that out, it's only a pdf
file.
There is another significant drawback about the current manual, and this is its structure. The structure is fairly
elaborated and ok up to chapter 38, debugging. But after that, the structure basically vanishes and the whole thing
becomes an encyclopedia of packages, in alphabetical order. This means, there is no structured table of contents or any
index of features or search-terms which are not functions or variables.
The situation is even worse for packages that people write with a lot of effort and a lot of time and which then are not
even incorporated in Maxima any more. These packages aren't documented in the manual at all, either. So who is going to
know about them and use them? I can understand anyone who wrote one package for Maxima and then does it never again,
seeing what the result was.
What I also understand is the fear that all the valuable information that has been piled up in the manual carefully over
the years and decades might be screed up by someone who does not fully understand it. This of course is a real danger,
and this must not happen. But the current manual is also dead in some respect, and it should come to life again. In my
opinion, Maxima will not develop further, if the manual doesn't.
Best regards,
Roland