How to decide what to kill / packages



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