ambiguous notation, builtin, exp, and the interface

December 13 2011 PatrickT 1943


Maple is sometimes very forgiving, e.g. (this is in Standard GUI):

plot(x,'color'=blue); #ok
plot(x,'colour'=blue); #ok
plot(x,'colour'=BLUE); #ok

and sometimes not, e.g.

plot(x,'COLOR'=blue); #nok

Other example:

plot(x, 'style' = point, 'numpoints' = 10, 'symbol' = circle); #ok
plot(x, 'style' = point, 'numpoints' = 10, 'symbol' = CIRCLE); #ok
plot(x, 'style' = POINT, 'numpoints' = 10, 'symbol' = CIRCLE); #ok
plot(x, 'STYLE' = POINT, 'NUMPOINTS' = 10, 'SYMBOL' = CIRCLE); #nok

And of course Maple's Number One FAQ:

exp(1); # ok
e^(1); # nok
e(1); #nok

I think there is a case for having something like this:

load(builtin); #I'm making this up,

load(builtin) --- or restart[builtin]; or whatever --- would load names and aliases for builtin functions like the exponential function, the e constant, etc.. Thus, if it were not loaded, you could use gamma and I to mean whatever you like, and not just the gamma constant and the imaginary unit; but if it were loaded, Maple would treat gamma and I as the builtin functions. In the first releases builtin could be on by default. In addition, certain expressions would trigger an information message from the interface.

Example: If you typed e^(1);

Maple would produce a message like "statement ambiguous, do you mean exp(1)? To turn off this message, enter load(builtin,silent)"

good/bad idea?

Please Wait...