Hi Richard,
I was already waiting for your post :-)
> are you talking about the common lisp package system
> or a new user-accessible package system for maxima?
>
> The latter would probably require mimicking the common
> lisp package systems (or perhaps a better version of
> such a thing) with naming conventions, import/export,
> hiding, etc.
I hope, both in one go. I'd propose to use the common lisp packaging
system and provide a maxima-language interface. I haven't thought to much
about the details yet, though.
> There is a package system in Mathematica
> which has generally been painful for the novice, and
> perhaps useful to the expert. I think this is similar
> to the common lisp situation.
I do not understand: I've been using mathematica a lot (as a novice, I'd
say) but I never used the packaging system otherwise than
<<DiscreteMath`Combinatorica`
The only thing I found painful was to remember whether to put << or >> and
which quotes...
As far as I can tell, the Maple packaging system is by far more
restrictive (I think you have to load linalg explicitely).
> I also wonder how one deals with the properties of an old
> symbol that the user redefines. Does that go in a new package?
> How?
Probably in the package where the symbol was defined. I think this would
be the most consistent and easiest way. Are you thinking of an
alternative?
> Tellsimp rules for built-in functions fit in this category, I
> think.
Somebody explain tellsimp to me, please!
ceterum censeo: I think somebody in the knowing ought to tell me what
"macsyma-module" does! ;-)
Martin