matrix implementation, was: patch for $addrow needed?
Subject: matrix implementation, was: patch for $addrow needed?
From: Robert Dodier
Date: Fri, 21 Apr 2006 09:06:36 -0600
Hello Stavros,
> As I've said before, Maxima semantics are a mess in this area as in
> many others.... Beyond the above issues, Maxima also provides arrays,
> with different semantics again (for example, they don't support row
> extraction).
I'm quite optimistic that we can clean up messy stuff
in Maxima. We have a lot of talented developers and
there are a lot of interested outsiders.
There are some simple things we can do right away.
Specifically addrow should copy its input data.
There may be a couple of other functions which can be
fixed in a similar way.
> I am not sure what the right answer is, but I hope I've shown that
> "just" making everything immutable, or "just" using deep value copies
> rather than reference
I haven't advocated immutable objects, and I don't
think deep copy implies immutable, so I don't understand
why you're arguing against immutable objects.
As an implementation detail, I would certainly want to
optimize copy semantics so that the copying happens only
when needed. This addresses efficiency problems
to some extent.
> are no better than the status quo.
I beg your pardon, but I don't think this has been demonstrated.
All the best,
Robert