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]

Reply via email to