constant/constantp



On Wed, Jul 22, 2009 at 1:13 PM, Richard Fateman<fateman at cs.berkeley.edu> wrote:

> The way I understand the declarations ?(like float, ) is that they do
> not inhibit assignment of values that disagree with the declarations.
> They are advice to the compiler that should enable it to compile code
> that is more specific, and will work faster. ?If object of the wrong
> type are used, the computation may be incorrect.

The point of declarations is to allow the application of identities which
are true for any value in the declared class.
(This subsumes compiler advice and lots more.)
If later on you substitute an element from outside the declared class,
you'll very likely get an incorrect result. It's OK by me for Maxima to
decline to give a result for some expression (i.e. just return a partially
evaluated expression or noun expression or whatever) but I'm pretty
sure I'm against returning an incorrect result.

FWIW

Robert Dodier