Changes
http://wiki.axiom-developer.org/378DeclarationsWithMultipleVariablesDontWorkInsideOfFunctions/diff
--
I tried:
\begin{axiom}
nobug(x) == (local a, b; a, b : Integer; a:=b:=1; a+b)
nobug(1)
bug(x) == (local a, b; (a, b) : Tuple Integer; a:=b:=1; a+b)
bug(1)
\end{axiom}
Also, when I tried this in my Windows version, I got:
<pre>
AXIOM Computer Algebra System
Version of Tuesday November 30, 2004 at 21:11:14
-----------------------------------------------------------------------------
Issue )copyright to view copyright notices.
Issue )summary for a summary of useful system commands.
Issue )quit to leave AXIOM and return to shell.
-----------------------------------------------------------------------------
(1) -> bug(x) == (local a, b; (a, b) : Integer; 1)
Type: Void
(2) -> bug(1)
Compiling function bug with type PositiveInteger -> PositiveInteger
>> System error:
(|Tuple| |a| |b|) is not of type SYMBOL.
protected-symbol-warn called with (NIL)
</pre>
So the older version caught the syntax error on first compile and run. Your
example seems to me to be a syntax error that was not caught in the current
version on first compile and run (I was not able to find the '(a,b):Integer' in
the Axiom book.) since '(a,b)' is a tuple. Correct syntax is 'a, b:Integer' for
multivariable declarations. Note that '(a,b):Tuple Integer' is incorrect syntax
also, since '(a,b)' is not an indentifier.
--
forwarded from http://wiki.axiom-developer.org/[EMAIL PROTECTED]