matrix implementation, was: patch for $addrow needed?



Yes, that would be possible to do; however
the semantics of lots of things would be different for matrices.

That is, if A and B are matrices,
A:B  
means making a copy of B.
Even doing f(B)  for some undefined function f of a matrix B
means making a copy of B. ... because if someone later
did part(f(B),1)[3,4]: FOO,

I haven't thought this all through, so maybe there is a clean
way around this. But I suspect history suggests it isn't
easy..
RJF



Robert Dodier wrote:

>>>I see your point, but the line between data structures and
>>>mathematical objects is pretty blurry, so I don't think it's
>>>practical to try to distinguish the two. A uniform policy would
>>>be easy to explain -- I am inclined to support a policy of
>>>never sharing data (or at least never appearing to share
>>>data).
>>>      
>>>
>>This is equivalent, I think, to making matrices immutable   (that is, once
>>they are constructed you cannot alter the entries).
>>    
>>
>
>I agree that many people would be unhappy about immutable matrices,
>but I don't see how no data sharing implies it.
>No data sharing means only that A[i,j] : FOO can change only A.
>I don't see that this implies that no matrix can be changed.
>
>best,
>Robert Dodier
>
>_______________________________________________
>Maxima mailing list
>Maxima at math.utexas.edu
>http://www.math.utexas.edu/mailman/listinfo/maxima
>  
>