[Maxima] replacement of short functions by their definitions andother code cleanups
aeder at arcor.de
Sat May 5 03:39:09 CDT 2007
> Thank you for raising this topic; I've certainly seen a number of recent
> changes in the tensor package that I maintain, which gave me cause for
> concern. Replacing simple functions like, most recently, concat, with their
> definitions seriously impedes code readability without introducing any
> tangible benefits that I can see.
The issue is not replacing functions like concat by their
definitions (which I did *not* do), but contrary to what you say
to enhance readability. Do you know the (subtle?) differences
between concat, sconcat and concatenate? Right from the top of
your head, when reading code? concat was mostly used to do things
fow which there are perfectly suited other common lisp functions
like gentemp or format or intern. Concat also still used the old
(maclisp-like?) function calling convention for variable number of
arguments where again there is a working and idiomatic way in CL
with &rest and &optional args. And on top of that, instead of
using string handling concat used the implode/explode combo of
functions which misuses symbols for string handling.
> If there are no objections, I'd respectfully revert some recent changes in
> the tensor package, for the sake of continuing maintainability.
The other - older - changes to tensor were of a similar spirit, as
you can see in the cvs log messages: removing or changing maclisp
like code by CL idioms etc.
I cannot see where this impeded maintainability of the code.
> This means of course that I'd like to continue to rely on the existence of these
> functions in the shared maxima code base, as the alternative, namely keeping
> private copies of these functions in the tensor package, is clearly not
I very strongly think that we should not depend on these old style
functions (zl-member, concat, assq etc.).
Well this is just my 2 cents.
More information about the Maxima