Protecting variables



Barton




C Y <smustudent1@yahoo.com>
Sent by: maxima-admin@math.utexas.edu
02/01/2004 09:19 PM

 
        To:     Barton Willis <willisb@unk.edu>
        cc:     lmarquez@cicese.mx, smh@franz.com, maxima@www.ma.utexas.edu
        Subject:        Re: [Maxima] Protecting variables
Logically it does make more sense as a message to return - what is the
distinction between DONE and TRUE in Maxima?

Everything! done isn't true!

(C2) if done then 5 else unk;
MACSYMA was unable to evaluate the predicate:
DONE
 -- an error.  Quitting.  To debug this try DEBUGMODE(TRUE);)
(C3) if true then 5 else unk;
(D3)                                   5

Seriously, if a function usually returns true, a user might reasonably 
expect that it might return false when something went wrong --- say 
when unprotect wasn't able to unprotect.  But that isn't how my
unprotect works.

Would we want to protect against assumptions?

If assumptions weren't so buggy, it might be more important. A
protected variable could be given a value via two or more assumptions
(C4) assume(x < 0);
(D4)                                [x < 0]
(C5) assume(x >= 0);
(D5)                            [INCONSISTENT]

But it's a bug!

What negative effects do you forsee?

Because when you do one thing your not doing something else. Maybe 
someday an ambitious person might overhaul the way protect works
globally  and they'll be faced with maybe breaking old code. So
folks will complain.


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/

_______________________________________________
Maxima mailing list
Maxima@www.math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima