On Thu, May 17, 2012 at 10:08 PM, Robert Dodier <robert.dodier at gmail.com>wrote:
> On 2012-05-17, Richard Fateman <fateman at eecs.berkeley.edu> wrote:
>
> > I think there is a potential problem, since CLOS objects will look like
> > atoms.
>
> Well, in a sense, there isn't a problem; non-cons atoms (e.g. arrays,
> hash tables) are pretty much inert in Maxima. So if the goal is just to
> construct such things and then carry them around, it seems like Maxima
> would be happy enough with that.
>
Well, perhaps if all you do is "carry them around", but if you start using
them in expressions, I am pretty sure that most parts of Maxima will assume
that a non-numeric atom is a symbolic variable (a Lisp symbol) without
explicitly testing for it, and it will probably be assumed real. Call such
an 'opaque object' Q; then Q-Q => 0, Q*Q => Q^2, etc. Clearly this is not
correct if Q is say an interval object.
But if you *don't* use these objects in algebraic expressions, you're
probably OK, though you should really have clean input and output syntax
for them, unlike say the current way Lisp arrays display.
-s