Re: packages, objection orientation, list of functions (was case sensitivity)
Subject: Re: packages, objection orientation, list of functions (was case sensitivity)
From: James Amundson
Date: Sun, 10 Oct 2004 19:42:39 -0500
On Sun, 2004-10-10 at 16:52, Richard Fateman wrote:
> While we are keeping a list of system functions,
> (an index, even) let me suggest we also start a
> list of all possible error messages and where
> they come from.
> Some of the messages come from the underlying
> lisp system; whether these can be caught and
> made into Maxima messages in some "system independent"
> fashion is unclear to me. Certainly it can be done
> in ANSI CL, with error handling, but maybe not
> in everyone's favorite lisp.
Standardized error messages sounds like a promising idea. The only
serious deviations from ANSI CL we allow these days are in GCL. The GCL
developers are moving closer to the ANSI standard, so I don't think we
need to worry about using the ANSI CL error handling.
> I think that using packages modelled on CL packages
> would provide a possible solution; I do not particularly
> care for its utility. On the other hand, other models
> may be no better. There is a package system
> in Mathematica that has undergone some use and perhaps
> modification. I do not know its details, but anyone
> trying to devise one for Maxima should certainly
> look at it.
>
> One could also look into object-oriented coding,
> given that packages are attempting to do some of
> the same partitioning of information, methods, etc.
My first inclination for extensions to the Maxima language would be to
stick as close to ANSI CL as possible. There are several advantages in
doing so:
1) The solutions found in ANSI CL are the result of a great deal of
work. They are also known to work, (even if one always wishes one could
do better.)
2) The closer the Maxima language is to CL, the easier it is to move
between the two when writing extensions, etc.
3) It eases implementation.
Of course, packages form one of the least popular corners of Common
Lisp, so (1) may not be the best argument in that case.
--Jim