How to decide what to kill / packages



Dear all,

About a year ago, I have proposed the similar idea of introducing
maxima user package for solving different issue of strange behavior
for uppercase/lowercase symbols related to bug ID 530030 in the
database.

Recently I re-started playing with Maxima and found that this was
not solved since then. Then I have started some hack for introducing
maxima-user package.

Here I attach two files, maxima-user-package.lisp and symbol.lisp
which I created a year ago and updated recently.

Some coincidence is that my hack does NOT pass the regression test
rtest13s.mac in tests directory. That is because I still cannot figure 
out
how rule names introduced by tellsimp, infix, prefix, postfix and so on
are interned, and killed. Some hacks made it work for rtest13.mac, 
though
I am not satisfied with my hack.

I think it will take some more time for me to complete even 1) below.

Yasuaki Honda
Independent developer
Chiba, Japan


> 1). First step is to introduce MAXIMA and MAXIMA-USER
> packages.  This is relatively easy to do but immediately
> makes Maxima significantly more robust and resolves
> kill problem.
>
> 2). Later MAXIMA package must be split on smaller
> packages to make Maxima core clean and modular.
> Ceratanly this is very serious and complicated undertaking
> which requires deep understanding of Maxima core and
> we are not ready to do this now. But in my opinion
> eventually we have do such Maxima core modularization.
>
> 3). Maxima desperately needs user-level package system.
> In particular each package in SHARE must form separate
> user package with clean interface.  Internally Maxima
> user-level packages may be implemented with the help
> of CL packages.  Certainly, this is also not highest
> priority task.
>
> Finally some other but somewhat related to the
> "kill problem" issue.  Right now all packages
> in SHARE remains uncompiled and get installed as
> source code.  This seems to be unnatural to me.
> AFAIK all share packages in commercial Macsyma are
> compiled (at least this is true for quite old
> Windows 3.1 Macsyma which I have).
> As far as I remember Richard mentioned that
> not all packages in share could be successfully compiled.
> But this is probably rather exception than general
> rule.  This may also depend on the background lisp.
> Eventually I'd like to see all share package in
> compiled form on all lisp platforms but for the
> time being one can modify Maxima make/install
> machinery to compile share packages at least
> selectively.  Any opinions?
>
> Best wishes,
>
> Vadim
>
>
> -- 
>      Vadim V. Zhytnikov
>
>       <vvzhy@mail.ru>
>      <vvzhy@netorn.ru>
>

Attached file: maxima-user-package.lisp
Attached file: symbol.lisp