> 
> ------=_Part_3347_1643086100.1467130060896
> Content-Type: multipart/alternative; 
>       boundary="----=_Part_3348_1429141321.1467130060897"
> 
> ------=_Part_3348_1429141321.1467130060897
> Content-Type: text/plain; charset=UTF-8
> 
> > In FriCAS default is that 
> > data may be shared, so you can not safely pass it to 
> > destructive operations.
> 
> What I care about is consistency: by your default, you
> think it's OK to have construct and parts transfer
> ownership, but not always.  So it's OK (and preferred)
> to implement 'construct' as "construct s == ref s"
> in Stack without copy.

Yes.

> 
> So the default rule is non-destructive functions sharing
> structure and destructive functions make copies before
> changing, instead of non-destructive functions copying
> structure and destructive functions apply directly.

I would say: make copy before use of destructive functions.
Function which performs destructive operations on a copy
is non-destructive.

> If so, my patch for bags.spad needs changes again.

Yes. :(
 
-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to