> So yes, it's possible to give a variable a value by making
> assumptions on it.
The relationship between the mathematical variable X and the programming
variable X is not very clear, anyway, as I mentioned in my email of
2004-Jan-31 20:46 (bug report 888396).
> If the variable had been protected against assignment, that
> wouldn't be very good.
You could always have protect perform assume(equal( <<varname>> ,
<<value>> )) if the variable has a value (don't know what you can do if
it doesn't). Of course, the user is still free to use "forget"....
Presumably the point of protect is not to be bulletproof, but to
protect/warn the user against screwing things up, which this does.
By the way, it should probably give an error (merror), not a warning
(mtell) when it fails.
-s