\start
Date: Thu, 9 Jul 2009 17:37:03 -0500
From: Tim Daly
To: list
Subject: 20090709.01.tpd.patch (quat.spad move QUATCT2 to bookvol10.4)

The quaternion code was moved from src/algebra into literate form.
Volume 10.1 Axiom Theory has a new chapter on quaternions
Volume 10.4 Axiom Packages now has QUATCT2, including a regression test 
file, a help file, and )d op examples

\start
Date: Sat, 18 Jul 2009 23:33:06 +0200
From: Michael Becker
To: list
Subject: nested anonymous functions

    Hi,

        does axiom  really support  anonymous functions?


                       AXIOM Computer Algebra System
                          Version: Axiom (May 2009)
                Timestamp: Sunday June 21, 2009 at 23:34:35
............
............

(1) ->  (y+-> y+1) 1
(1) ->
   (1)  2
                                                        Type: =
PositiveInteger
(2) ->  (x +-> ((y+-> y+x) 1)) 2
 2) ->
   >> System error:
   The variable #:G1404 is unbound.

(2) -> f == (x +-> ((y+-> y+x) 1))
                                                                   Type: =
Void
(3) -> f 2
   Compiling function f with type PositiveInteger -> PositiveInteger

   (3)  3
                                                        Type: =
PositiveInteger


\start
Date: Sun, 19 Jul 2009 01:24:36 +0200
From: Michael Becker
To: list
Subject: sin(x)  drawing error

This is a multi-part message in MIME format.

    Hi,

       drawing tubeplots does not alway work as expected:

       enter



s  := create3Space()$(ThreeSpace DFLOAT)

draw(curve(x,sin(x),0),x=0..4,style=="shade",tubeRadius==0.3,tu=
bePoints==20,space==s)

draw(curve(x,sin(x),1),x=-4..4,style=="shade",tubeRadius==0.3,t=
ubePoints==20,space==s)

   
     and after some scaling and rotating you get the appended  picture.

--Boundary-00=_0mlYK2lPzBeIVMQ
	name="Bildschirmphoto7.png"
	filename="Bildschirmphoto7.png"

iVBORw0KGgoAAAANSUhEUgAAAlUAAAH/CAYAAAB+aSinAAAgAElEQVR4nO3dS4hd950n8F8FLxLQ
ogReSCBDLtgQmRlQiWShMA3jgizaZBYj0KpJLzqrPBgYx5sOvZvEK5NdZ9UZ6A7dG4F6kRlnYXQV
CBNBt5EM3bgMDr4GG0owBhWMIF4YahZ1T+nUqfM+/3vPubc+HxD61XnVrYeqvvr9zmPn+Pj4OAAA
GOQrY78AAIBtIFQBACQgVAEAJCBUAQAkIFQBACQgVAEAJCBUAQAkIFQBkzT/4c1OywHGJlQBk7T/
y0fnAtT8hzdj/5ePRnpFAPWEKmCy8sFKoAKmbsdjaoCpE6iATaBTBUxaFqicSwVMnVAFTFa+QyVY
AVMnVAGTVDbyE6yAKXNOFQBAAjpVAAAJCFUAAAkIVQAACQhVAAAJCFUAAAkIVQAACQhVAAAJCFUA
AAkIVcDkzd9yF3Vg+oQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCA
BIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASE
KgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoA
gASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAE
hCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQq
AIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCA
BIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASE
KgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoA
gASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAE
hCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQqAIAEhCoAgASEKgCABIQq
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
3Uyr6dk9VTcEa/vMoCHPGxr6rKKy19/nWUXF43R9DVldfHhp19ewqrqvKY2Ah4z/du/sxqu3Lld2
qvbv7MZsedXV4uHT03oKFstzb7JnyRXrTN0orrhNpmlsV7Vd3TZ1dxKfkuyk9YiTK0Br6xcjbr9W
WP5gGb/y4enFXF21PFtX3PbFwvLisvzfS/OPFrF/axnK7p4NZfHZspv10bKDVRXGygzZtmn7qn36
vJ8p7Fu3f5/R6Fj7Vx2v7zGG7L/c99FvRgpVP7xx/7jN85LaPnE8q4fcnn5V+7Y5RpdOVdVxhh5j
aLctIuL1luPauucotX3uUtX3xpDXkNUpQ2HdCdN19ZN43qmqeuzDXxS6T/nziWY1D8HtGsKq9i0G
puxBvG3DU9k5THUjuTbPtmvznLuqEd6UThxvfX5T285TWXgqC05ly7N1JaFq/rAQku7MIj6P8x2r
WNYPl/WtXCcr81mUjvQaA09u23Nju7L6/YouTdX2xQ5MWXeorC7ruoy1b1XXru2+bV9DU6er6TV0
7XQN7dRVdDL77nv4rz+KMez8sDD+K+r77KGL+gDKNsdoOs66g13VcVKEw75hKjunr2/XL9897POk
84izj0PIh6pzD5B9bXYmVGUBJR9qiiEr4nwomjWErqzOB6gPHj5tFZCqlpedp/S1aBeosrBUN7bL
6qobZk5phNd6dJc6PLUJTiVOQ9Tnz7tO88/anVh++OlBXH3peuf68NPlaKam7nP8Lg7/tWIsWFfn
x39tw9uQ4Jd637pzzLqGoqGBMF+3CGa1Y74r9V+7IcFytE7V3zVc/Xf44Px4K1rUXZ5qvop960aE
dXXZ6K3Lx/56i1/yfV5D1+O0CSNNx2kTRupGx1ca924+VqpjNJ18XXYCdeTqo69GzH99VPmfjL9Z
nsw+5fFfsVtWN3JrGsflt2vaJmJ647u8f7p7VD3C+95u3Pv1+bHdmXHe93bj3m8Ly1+MuP3nheXZ
vrnlpRq+6efvLWL/m7PGOiJi/5uz03qb5D+uddVtPufFev7PAz73xYsFxtw/r8uxhh6jz3h4abRQ
9XpDp2rdvj5w/yFPBE+5f17XY6V4snib8VyfsW++i1S1b1a3Gf9dbThOXUjN6qbwnf2OqhrzVZ0A
na8PXoy4XnLycPZ1yTpVZd2guvFfvm6jboyYf18R5ztlRXWB6GtR36Ga4hV2g04ob9N9GtJ5KjH/
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
tOMWJZ2oS4WuSLHLdFDSOWnapthlelrowJR1wwrbdAqhQy7MqNi38qTwinMTe43oulhhiCoSqqZP
yIJlqIpoDlNj1rG7qg9/y00ouJWGpSgJPGXbPGsIVLltDj49jHgWcf3K1Th4shz/FUNXMVC1eQ35
bSpeQ6vPRZ/zALOnDLQYya2s/mr9yG/V95ASqjaPUSEX0c7x8XHrc6oWb7y5yteyOl8d+wVM19Cx
7ySCW4pjtH0ffdevumuUUk0HKrPuG3EKVZtNF4uL4oUuG89+8faqXscZizfebB41rqmO3WmMC1dV
Rww8h+5Zy3FnnabA0SaQDD1Govcxajep7QnkeS0CVIS7mTNMMUQJWWyrTp2qTTDfuzmJkWWn2nhz
MlYZePLjyK512/fVNiTVmWKA0qnabkaFbIutC1Upbcy4M9F4M9UVoKuqIwZeHLBFZnsV5x/W7fPa
+St019V9Hkqoujh0sdhkQtUKZaFsKqPMMcegF0XnUV2CzlKZKXabhhCqLi4hi00iVG2Y+d7JD5jR
R5Zrrim3beGpilBFxqiQKROqLrCNGW+uwahdwHgeIC9KSOpKqKKMLhZT0+nqP7bLmOfTZBcURNSH
jHXVZa+j7Bykotkv3o5Z/u1ENdDMVYVMjU4VMHk6VfRhVMi66VQBsJXyQUoXi3UQqgDYenWjQgGL
VIQqAC4cXSxWQagC4EJzwjupCFUAkGNUSF9CFQDUGGNUOH/tZuw/OH/squVMg1AFAC0ZFVJHqAKA
nlY1Ktx/8OhcV0qXavqEKgBIJOWoMB+sBKrNIFQBwAqkGBUKVJtFqAKANagKWc7D2h5CFQCMQJja
Pl8Z+wUAAGwDoQoAIAGhCgAgAaEKACbMlX+bQ6gCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBI
QKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECo
AgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIA
SECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhA
qAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgC
AEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBI
QKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECo
AgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIA
SECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhA
qAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgC
AEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBI
QKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECo
AgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASECoAgBIQKgCAEhAqAIASOD/A/who71+vKTfAAAA
AElFTkSuQmCC

--Boundary-00=_0mlYK2lPzBeIVMQ--

\start
Date: Sun, 19 Jul 2009 11:31:30 +0200
From: Martin Rubey
To: Michael Becker
Subject: Re: sin(x)  drawing error

Michael Becker writes:

>     Hi,
>
>        drawing tubeplots does not alway work as expected:
>
>        enter 
>
>
>  
> s  := create3Space()$(ThreeSpace DFLOAT)
>
> draw(curve(x,sin(x),0),x=0..4,style=="shade",tubeRadius==0.3,tubePoints=,space==s)
>
> draw(curve(x,sin(x),1),x=-4..4,style=="shade",tubeRadius==0.3,tubePoints=,space==s)
>
>     
>      and after some scaling and rotating you get the appended
>      picture.

Sorry for being slow: what exactly looks wrong to you -- is it the
discontinuity that shouldn't be there?

\start
Date: Sun, 19 Jul 2009 22:59:33 +0200
From: Michael Becker
To: list
Subject: 60 error(s) parsing

    Hi,

        in Hyperdoc click on 'Browse' .
        Enter 'draw', click 'Operations' and select 'Descriptions'.


        Now enter any command in main window : eg. 1+1

        and you get

   ....
   ....
  Error  G: syntax error at top level
  Error  G: Improper syntax.
  Error  G: syntax error at top level
  Error  G: Improper syntax.
  Error  H: Improper syntax.
  Error  H: Improper syntax.
  Error  H: syntax error at top level
  Error  H: syntax error at top level
   60 error(s) parsing

   (4)  2
      
                                                 Type: PositiveInteger

                                                  
   Entering 'content' instead of 'draw' produces only  4 errors:         =



(5) -> 1+1
  Line   1: 1+1
           ..........A.B
  Error  A: syntax error at top level
  Error  A: Improper syntax.
  Error  B: syntax error at top level
  Error  B: Improper syntax.
   4 error(s) parsing

   (5)  2
                                                        Type: =
PositiveInteger


  But there are more ways to reproduces this from hypedoc. 

  
  This bug is present in all versions  of axiom.

\start
Date: Mon, 20 Jul 2009 06:31:29 -0400
From: Tim Daly
To: Michael Becker
Subject: bug number 7200 Improper syntax after browse

Michael,

I can reproduce this bug. It looks like there was an error reported but
the actual error report you see is part of the parser output being re-read.
I don't know why.

This is bug number 7200

What version of Axiom are you using?
What platform are you running on?

Tim

Michael Becker wrote:
>     Hi,
>
>         in Hyperdoc click on 'Browse' .
>         Enter 'draw', click 'Operations' and select 'Descriptions'.
>
>
>         Now enter any command in main window : eg. 1+1
>
>         and you get
>
>    ....
>    ....
>   Error  G: syntax error at top level
>   Error  G: Improper syntax.
>   Error  G: syntax error at top level
>   Error  G: Improper syntax.
>   Error  H: Improper syntax.
>   Error  H: Improper syntax.
>   Error  H: syntax error at top level
>   Error  H: syntax error at top level
>    60 error(s) parsing
>
>    (4)  2
>       
>                                                  Type: PositiveInteger
>
>                                                   
>    Entering 'content' instead of 'draw' produces only  4 errors:       =
  
>
>
> (5) -> 1+1
>   Line   1: 1+1
>            ..........A.B
>   Error  A: syntax error at top level
>   Error  A: Improper syntax.
>   Error  B: syntax error at top level
>   Error  B: Improper syntax.
>    4 error(s) parsing
>
>    (5)  2
>                                                         Type: PositiveI=
nteger
>
>
>   But there are more ways to reproduces this from hypedoc. 
>
>   
>   This bug is present in all versions  of axiom.

\start
Date: Mon, 20 Jul 2009 06:39:20 -0400
From: Tim Daly
To: Michael Becker
Subject: Re: nested anonymous functions

Michael,

Try

(x +-> ((w,y)+->y+w) (x,2)) 1

The outer function of x requires one argument
which is bound as x, and the inner function of
(x,y) requires 2, (w,y)

This does not appear to be a bug.

Tim


Michael Becker wrote:
>     Hi,
>
>         does axiom  really support  anonymous functions?
> 
>
>                        AXIOM Computer Algebra System
>                           Version: Axiom (May 2009)
>                 Timestamp: Sunday June 21, 2009 at 23:34:35
> ............
> ............
>
> (1) ->  (y+-> y+1) 1
> (1) ->
>    (1)  2
>                                                         Type: PositiveI=
nteger
> (2) ->  (x +-> ((y+-> y+x) 1)) 2
>  2) ->
>    >> System error:
>    The variable #:G1404 is unbound.
>
> (2) -> f == (x +-> ((y+-> y+x) 1))
>                                                                    Type=
: Void
> (3) -> f 2
>    Compiling function f with type PositiveInteger -> PositiveInteger
>
>    (3)  3
>                                                         Type: PositiveI=
nteger

\start
Date: Mon, 20 Jul 2009 06:44:47 -0400
From: Tim Daly
To: Michael Becker
Subject: bug number 7201 sin(x)  drawing error

Michael,

This appears to be a bug.
It has been assigned bug number 7201.

Tim


Michael Becker wrote:
>     Hi,
>
>        drawing tubeplots does not alway work as expected:
>
>        enter
>
>
> 
> s  := create3Space()$(ThreeSpace DFLOAT)
>
> draw(curve(x,sin(x),0),x=0..4,style=="shade",tubeRadius==0.3,=
tubePoints==20,space==s)
>
> draw(curve(x,sin(x),1),x=-4..4,style=="shade",tubeRadius==0.3=
,tubePoints==20,space==s)
>
>    
>      and after some scaling and rotating you get the appended  picture.

\start
Date: Mon, 20 Jul 2009 21:08:30 +0200
From: Michael Becker
To: Tim Daly
Subject: Re: bug number 7200 Improper syntax after browse

Am Montag, 20. Juli 2009 12:31 schrieb Tim Daly:
> Michael,
>
> I can reproduce this bug. It looks like there was an error reported but
> the actual error report you see is part of the parser output being re-rea=
d.
> I don't know why.
>
> This is bug number 7200
>
> What version of Axiom are you using?
> What platform are you running on?



  Axiom:


                       AXIOM Computer Algebra System
                          Version: Axiom (May 2009)
                Timestamp: Sunday June 21, 2009 at 23:34:35


  Platform:

              SUSE Linux Enterprise Desktop 10 (i586)
    and
              SuSE Linux 9.2 (i586)

    
  -- Michael

>
> Tim
>
> Michael Becker wrote:
> >     Hi,
> >
> >         in Hyperdoc click on 'Browse' .
> >         Enter 'draw', click 'Operations' and select 'Descriptions'.
> >
> >
> >         Now enter any command in main window : eg. 1+1
> >
> >         and you get
> >
> >    ....
> >    ....
> >   Error  G: syntax error at top level
> >   Error  G: Improper syntax.
> >   Error  G: syntax error at top level
> >   Error  G: Improper syntax.
> >   Error  H: Improper syntax.
> >   Error  H: Improper syntax.
> >   Error  H: syntax error at top level
> >   Error  H: syntax error at top level
> >    60 error(s) parsing
> >
> >    (4)  2
> >
> >                                                  Type: PositiveInteger
> >
> >
> >    Entering 'content' instead of 'draw' produces only  4 errors:
> >
> >
> > (5) -> 1+1
> >   Line   1: 1+1
> >            ..........A.B
> >   Error  A: syntax error at top level
> >   Error  A: Improper syntax.
> >   Error  B: syntax error at top level
> >   Error  B: Improper syntax.
> >    4 error(s) parsing
> >
> >    (5)  2
> >                                                         Type:
> > PositiveInteger
> >
> >
> >   But there are more ways to reproduces this from hypedoc.
> >
> >
> >   This bug is present in all versions  of axiom.

\start
Date: Tue, 21 Jul 2009 00:16:25 +0200
From: Michael Becker
To: Tim Daly
Subject: Re: nested anonymous functions

Am Montag, 20. Juli 2009 12:39 schrieb Tim Daly:
> Michael,
>
> Try
>
> (x +-> ((w,y)+->y+w) (x,2)) 1
>
> The outer function of x requires one argument
> which is bound as x, and the inner function of
> (x,y) requires 2, (w,y)
>
> This does not appear to be a bug.


 
  Tim,

    This was a question.

    According to Section 6.16:  Variables in Functions are local or global =
(in
workspace)
   
    e.g.:
(4) -> bla() == (m:=3;f() == m +3; f())
                                                                   Type: Vo=
id
(5) -> bla()
   Compiled code for f has been cleared.
   1 old definition(s) deleted for function or rule f
   Compiling function f with type PositiveInteger -> Polynomial Integer

   Compiling function bla with type () -> Polynomial Integer

   (5)  m + 3
                                                     Type: Polynomial Integ=
er

  

   So nested anonymous functions are not really supported.



   -- Michael

 


>
> Tim
>
> Michael Becker wrote:
> >     Hi,
> >
> >         does axiom  really support  anonymous functions?
> >
> >
> >                        AXIOM Computer Algebra System
> >                           Version: Axiom (May 2009)
> >                 Timestamp: Sunday June 21, 2009 at 23:34:35
> > ............
> > ............
> >
> > (1) ->  (y+-> y+1) 1
> > (1) ->
> >    (1)  2
> >                                                         Type:
> > PositiveInteger (2) ->  (x +-> ((y+-> y+x) 1)) 2
> >  2) ->
> >
> >    >> System error:
> >
> >    The variable #:G1404 is unbound.
> >
> > (2) -> f == (x +-> ((y+-> y+x) 1))
> >                                                                    Type:
> > Void (3) -> f 2
> >    Compiling function f with type PositiveInteger -> PositiveInteger
> >
> >    (3)  3
> >                                                         Type:
> > PositiveInteger

\start
Date: Tue, 21 Jul 2009 05:44:46 +0200
From: Michael Becker
To: list
Subject: Internal Error : Interpreter code generation failed for expression...



    Hi,

         I have  the followin input-file


------- ma2.input -----------------------------------
fallingPower : (INT,NNI) -> INT

fallingPower (p,0) == 1
fallingPower (p,n) == p*fallingPower(p-1,n-1)

test0 () ==
   n : Matrix Integer
   n := new(3,3,0)
   for i in 1..3 repeat _
         for j in 1..3 repeat _
         n(i,j) := fallingPower(i+j,j)
   n

test1 () ==
   n : Matrix Integer
   n := new(3,3,0)
   for i in 1..3 repeat _
         for j in 1..3 repeat _
         n(i,j) := i+j
   n

test2 () ==
   n : Matrix Integer 
   n := new(3,3,0)
   for i in 1..3 repeat _
         for j in 1..3 repeat _
         n(i,j) := fallingPower(i,j)
   n


test2()
test1()
test0()
--------------------------------------------------


 reading this in axiom gives the follwing error


--------------------------------------------------

                       AXIOM Computer Algebra System
                          Version: Axiom (May 2009)
                Timestamp: Sunday June 21, 2009 at 23:34:35
-------------------------------------------------------------------------=
----
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
-------------------------------------------------------------------------=
----

   Re-reading compress.daase   Re-reading interp.daase
   Re-reading operation.daase
   Re-reading category.daase
   Re-reading browse.daase
(1) ->
(1) -> )re ma2
(1) ->


fallingPower : (INT,NNI) -> INT

                                                                   Type: =
Void

fallingPower (p,0) == 1

                                                                   Type: =
Void
fallingPower (p,n) == p*fallingPower(p-1,n-1)

                                                                   Type: =
Void

test0 () ==
   n : Matrix Integer
   n := new(3,3,0)
   for i in 1..3 repeat _
         for j in 1..3 repeat _
         n(i,j) := fallingPower(i+j,j)
   n

                                                                   Type: =
Void

test1 () ==
   n : Matrix Integer
   n := new(3,3,0)
   for i in 1..3 repeat _
         for j in 1..3 repeat _
         n(i,j) := i+j
   n

                                                                   Type: =
Void

test2 () ==
   n : Matrix Integer
   n := new(3,3,0)
   for i in 1..3 repeat _
         for j in 1..3 repeat _
         n(i,j) := fallingPower(i,j)
   n

                                                                   Type: =
Void


test2()

   Loading /usr_local/axiom0509/mnt/opensuse/algebra/MATRIX.o for
      domain Matrix
   Loading /usr_local/axiom0509/mnt/opensuse/algebra/IIARRAY2.o for
      domain InnerIndexedTwoDimensionalArray
   There are no library operations named fallingPower
      Use HyperDoc Browse or issue
                            )what op fallingPower
      to learn if there is any operation containing " fallingPower " in
      its name.
   Cannot find a definition or applicable library operation named
      fallingPower with argument type(s)
                                   Integer
                                   Integer

      Perhaps you should use "@" to indicate the required return type,
      or "$" to specify which version of the function you need.
   AXIOM will attempt to step through and interpret the code.
   Compiling function fallingPower with type (Integer,
      NonNegativeInteger) -> Integer
   Compiling function test2 with type () -> Matrix Integer
   Compiling function G1997 with type Integer -> Boolean

   Loading /usr_local/axiom0509/mnt/opensuse/algebra/MATCAT-.o for
      domain MatrixCategory&
   Loading /usr_local/axiom0509/mnt/opensuse/algebra/ARR2CAT-.o for
      domain TwoDimensionalArrayCategory&
        +1  0  0+
        |       |
   (7)  |2  2  0|
        |       |
        +3  6  6+
                                                         Type: Matrix =
Integer
test1()

   Compiling function test1 with type () -> Matrix Integer

        +2  3  4+
        |       |
   (8)  |3  4  5|
        |       |
        +4  5  6+
                                                         Type: Matrix =
Integer
test0()

   Compiling function test0 with type () -> Matrix Integer
   Loading /usr_local/axiom0509/mnt/opensuse/algebra/UPMP.o for package
      UnivariatePolynomialMultiplicationPackage
   Loading /usr_local/axiom0509/mnt/opensuse/algebra/UP.o for domain
      UnivariatePolynomial
   Internal Error
   Interpreter code generation failed for expression
      (IF (= |#2| 0) 1 (* |#1| (|fallingPower| (- |#1| 1) (- |#2| =
1))))



--------------------------------------------------



   i can't see whats wrong with 'test0'.

    -- Michael

  ps:  same result in fricas or open-axiom.

\start
Date: Tue, 21 Jul 2009 07:47:27 +0200
From: Ralf Hemmecke
To: Michael Becker
Subject: Re: Internal Error : Interpreter code generation failed for expression...

Your "error" is in this line.

 > fallingPower (p,n) == p*fallingPower(p-1,n-1)

Axiom has no chance to figure out at compile time that n-1 is really of 
type NNI as you required in your signature

 > fallingPower : (INT,NNI) -> INT

So the best way to deal with that is to help Axiom.

The following line works for me in FriCAS.

fallingPower (p,n) == p*fallingPower(p-1,(n-1)::NNI)

Maybe you have to add "::NNI" in a few other places.

Hope that helps
Ralf


On 07/21/2009 05:44 AM, Michael Becker wrote:
> 
>     Hi,
> 
>          I have  the followin input-file
> 
> 
> ------- ma2.input -----------------------------------
> fallingPower : (INT,NNI) -> INT
> 
> fallingPower (p,0) == 1
> fallingPower (p,n) == p*fallingPower(p-1,n-1)
> 
> test0 () ==
>    n : Matrix Integer
>    n := new(3,3,0)
>    for i in 1..3 repeat _
>          for j in 1..3 repeat _
>          n(i,j) := fallingPower(i+j,j)
>    n
> 
> test1 () ==
>    n : Matrix Integer
>    n := new(3,3,0)
>    for i in 1..3 repeat _
>          for j in 1..3 repeat _
>          n(i,j) := i+j
>    n
> 
> test2 () ==
>    n : Matrix Integer  
>    n := new(3,3,0)
>    for i in 1..3 repeat _
>          for j in 1..3 repeat _
>          n(i,j) := fallingPower(i,j)
>    n
> 
> 
> test2()
> test1()
> test0()
> --------------------------------------------------
> 
> 
>  reading this in axiom gives the follwing error
> 
> 
> --------------------------------------------------
> 
>                        AXIOM Computer Algebra System
>                           Version: Axiom (May 2009)
>                 Timestamp: Sunday June 21, 2009 at 23:34:35
> -----------------------------------------------------------------------------
>    Issue )copyright to view copyright notices.
>    Issue )summary for a summary of useful system commands.
>    Issue )quit to leave AXIOM and return to shell.
> -----------------------------------------------------------------------------
> 
>    Re-reading compress.daase   Re-reading interp.daase
>    Re-reading operation.daase
>    Re-reading category.daase
>    Re-reading browse.daase
> (1) ->
> (1) -> )re ma2
> (1) ->
> 
> 
> fallingPower : (INT,NNI) -> INT
> 
>                                                                    Type: Void
> 
> fallingPower (p,0) == 1
> 
>                                                                    Type: Void
> fallingPower (p,n) == p*fallingPower(p-1,n-1)
> 
>                                                                    Type: Void
> 
> test0 () ==
>    n : Matrix Integer
>    n := new(3,3,0)
>    for i in 1..3 repeat _
>          for j in 1..3 repeat _
>          n(i,j) := fallingPower(i+j,j)
>    n
> 
>                                                                    Type: Void
> 
> test1 () ==
>    n : Matrix Integer
>    n := new(3,3,0)
>    for i in 1..3 repeat _
>          for j in 1..3 repeat _
>          n(i,j) := i+j
>    n
> 
>                                                                    Type: Void
> 
> test2 () ==
>    n : Matrix Integer
>    n := new(3,3,0)
>    for i in 1..3 repeat _
>          for j in 1..3 repeat _
>          n(i,j) := fallingPower(i,j)
>    n
> 
>                                                                    Type: Void
> 
> 
> test2()
> 
>    Loading /usr_local/axiom0509/mnt/opensuse/algebra/MATRIX.o for
>       domain Matrix
>    Loading /usr_local/axiom0509/mnt/opensuse/algebra/IIARRAY2.o for
>       domain InnerIndexedTwoDimensionalArray
>    There are no library operations named fallingPower
>       Use HyperDoc Browse or issue
>                             )what op fallingPower
>       to learn if there is any operation containing " fallingPower " in
>       its name.
>    Cannot find a definition or applicable library operation named
>       fallingPower with argument type(s)
>                                    Integer
>                                    Integer
> 
>       Perhaps you should use "@" to indicate the required return type,
>       or "$" to specify which version of the function you need.
>    AXIOM will attempt to step through and interpret the code.
>    Compiling function fallingPower with type (Integer,
>       NonNegativeInteger) -> Integer
>    Compiling function test2 with type () -> Matrix Integer
>    Compiling function G1997 with type Integer -> Boolean
> 
>    Loading /usr_local/axiom0509/mnt/opensuse/algebra/MATCAT-.o for
>       domain MatrixCategory&
>    Loading /usr_local/axiom0509/mnt/opensuse/algebra/ARR2CAT-.o for
>       domain TwoDimensionalArrayCategory&
>         +1  0  0+
>         |       |
>    (7)  |2  2  0|
>         |       |
>         +3  6  6+
>                                                          Type: Matrix Integer
> test1()
> 
>    Compiling function test1 with type () -> Matrix Integer
> 
>         +2  3  4+
>         |       |
>    (8)  |3  4  5|
>         |       |
>         +4  5  6+
>                                                          Type: Matrix Integer
> test0()
> 
>    Compiling function test0 with type () -> Matrix Integer
>    Loading /usr_local/axiom0509/mnt/opensuse/algebra/UPMP.o for package
>       UnivariatePolynomialMultiplicationPackage
>    Loading /usr_local/axiom0509/mnt/opensuse/algebra/UP.o for domain
>       UnivariatePolynomial
>    Internal Error
>    Interpreter code generation failed for expression
>       (IF (= |#2| 0) 1 (* |#1| (|fallingPower| (- |#1| 1) (- |#2| 1))))
> 
> 
> 
> --------------------------------------------------
>  
>    i can't see whats wrong with 'test0'.
> 
>     -- Michael
> 
>   ps:  same result in fricas or open-axiom.

\start
Date: Tue, 21 Jul 2009 16:18:34 +0200
From: Michael Becker
To: Ralf Hemmecke
Subject: Re: Internal Error : Interpreter code generation failed for expression...

Am Dienstag, 21. Juli 2009 07:47 schrieb Ralf Hemmecke:
> Your "error" is in this line.
>
>  > fallingPower (p,n) == p*fallingPower(p-1,n-1)
>
> Axiom has no chance to figure out at compile time that n-1 is really =
of
> type NNI as you required in your signature
>
>  > fallingPower : (INT,NNI) -> INT
>
> So the best way to deal with that is to help Axiom.


    
     Ok,

        but can you explain, why  Axiom can  compile test2 ?

        the only difference is line      
                      n(i,j) := fallingPower(i+j,j)  in test0
        and
                      n(i,j) := fallingPower(i,j)  in test2


     Thanks, 

        Michael               

>
> The following line works for me in FriCAS.
>
> fallingPower (p,n) == p*fallingPower(p-1,(n-1)::NNI)
>
> Maybe you have to add "::NNI" in a few other places.
>
> Hope that helps
> Ralf
>
> On 07/21/2009 05:44 AM, Michael Becker wrote:
> >     Hi,
> >
> >          I have  the followin input-file
> >
> >
> > ------- ma2.input -----------------------------------
> > fallingPower : (INT,NNI) -> INT
> >
> > fallingPower (p,0) == 1
> > fallingPower (p,n) == p*fallingPower(p-1,n-1)
> >
> > test0 () ==
> >    n : Matrix Integer
> >    n := new(3,3,0)
> >    for i in 1..3 repeat _
> >          for j in 1..3 repeat _
> >          n(i,j) := fallingPower(i+j,j)
> >    n
> >
> > test1 () ==
> >    n : Matrix Integer
> >    n := new(3,3,0)
> >    for i in 1..3 repeat _
> >          for j in 1..3 repeat _
> >          n(i,j) := i+j
> >    n
> >
> > test2 () ==
> >    n : Matrix Integer
> >    n := new(3,3,0)
> >    for i in 1..3 repeat _
> >          for j in 1..3 repeat _
> >          n(i,j) := fallingPower(i,j)
> >    n
> >
> >
> > test2()
> > test1()
> > test0()
> > --------------------------------------------------
> >
> >
> >  reading this in axiom gives the follwing error
> >
> >
> > --------------------------------------------------
> >
> >                        AXIOM Computer Algebra System
> >                           Version: Axiom (May 2009)
> >                 Timestamp: Sunday June 21, 2009 at 23:34:35
> > =
-------------------------------------------------------------------------=

> >---- Issue )copyright to view copyright notices.
> >    Issue )summary for a summary of useful system commands.
> >    Issue )quit to leave AXIOM and return to shell.
> > =
-------------------------------------------------------------------------=

> >----
> >
> >    Re-reading compress.daase   Re-reading interp.daase
> >    Re-reading operation.daase
> >    Re-reading category.daase
> >    Re-reading browse.daase
> > (1) ->
> > (1) -> )re ma2
> > (1) ->
> >
> >
> > fallingPower : (INT,NNI) -> INT
> >
> >                                                                    =
Type:
> > Void
> >
> > fallingPower (p,0) == 1
> >
> >                                                                    =
Type:
> > Void fallingPower (p,n) == p*fallingPower(p-1,n-1)
> >
> >                                                                    =
Type:
> > Void
> >
> > test0 () ==
> >    n : Matrix Integer
> >    n := new(3,3,0)
> >    for i in 1..3 repeat _
> >          for j in 1..3 repeat _
> >          n(i,j) := fallingPower(i+j,j)
> >    n
> >
> >                                                                    =
Type:
> > Void
> >
> > test1 () ==
> >    n : Matrix Integer
> >    n := new(3,3,0)
> >    for i in 1..3 repeat _
> >          for j in 1..3 repeat _
> >          n(i,j) := i+j
> >    n
> >
> >                                                                    =
Type:
> > Void
> >
> > test2 () ==
> >    n : Matrix Integer
> >    n := new(3,3,0)
> >    for i in 1..3 repeat _
> >          for j in 1..3 repeat _
> >          n(i,j) := fallingPower(i,j)
> >    n
> >
> >                                                                    =
Type:
> > Void
> >
> >
> > test2()
> >
> >    Loading /usr_local/axiom0509/mnt/opensuse/algebra/MATRIX.o for
> >       domain Matrix
> >    Loading /usr_local/axiom0509/mnt/opensuse/algebra/IIARRAY2.o for
> >       domain InnerIndexedTwoDimensionalArray
> >    There are no library operations named fallingPower
> >       Use HyperDoc Browse or issue
> >                             )what op fallingPower
> >       to learn if there is any operation containing " fallingPower " =
in
> >       its name.
> >    Cannot find a definition or applicable library operation named
> >       fallingPower with argument type(s)
> >                                    Integer
> >                                    Integer
> >
> >       Perhaps you should use "@" to indicate the required return =
type,
> >       or "$" to specify which version of the function you need.
> >    AXIOM will attempt to step through and interpret the code.
> >    Compiling function fallingPower with type (Integer,
> >       NonNegativeInteger) -> Integer
> >    Compiling function test2 with type () -> Matrix Integer
> >    Compiling function G1997 with type Integer -> Boolean
> >
> >    Loading /usr_local/axiom0509/mnt/opensuse/algebra/MATCAT-.o for
> >       domain MatrixCategory&
> >    Loading /usr_local/axiom0509/mnt/opensuse/algebra/ARR2CAT-.o for
> >       domain TwoDimensionalArrayCategory&
> >         +1  0  0+
> >
> >    (7)  |2  2  0|
> >
> >         +3  6  6+
> >                                                          Type: =
Matrix
> > Integer test1()
> >
> >    Compiling function test1 with type () -> Matrix Integer
> >
> >         +2  3  4+
> >
> >    (8)  |3  4  5|
> >
> >         +4  5  6+
> >                                                          Type: =
Matrix
> > Integer test0()
> >
> >    Compiling function test0 with type () -> Matrix Integer
> >    Loading /usr_local/axiom0509/mnt/opensuse/algebra/UPMP.o for =
package
> >       UnivariatePolynomialMultiplicationPackage
> >    Loading /usr_local/axiom0509/mnt/opensuse/algebra/UP.o for domain
> >       UnivariatePolynomial
> >    Internal Error
> >    Interpreter code generation failed for expression
> >       (IF (= |#2| 0) 1 (* |#1| (|fallingPower| (- |#1| 1) (- |#2| =
1))))
> >
> >
> >
> > --------------------------------------------------
> >
> >    i can't see whats wrong with 'test0'.
> >
> >     -- Michael
> >
> >   ps:  same result in fricas or open-axiom.

\start
Date: Tue, 21 Jul 2009 16:46:11 +0200
From: Ralf Hemmecke
To: Michael Becker
Subject: Re: Internal Error : Interpreter code generation failed for expression...

>      Ok,
> 
>         but can you explain, why  Axiom can  compile test2 ?
> 
>         the only difference is line       
>                       n(i,j) := fallingPower(i+j,j)  in test0
>         and
>                       n(i,j) := fallingPower(i,j)  in test2 

Well my guess is that because

fallingPower (p,0) == 1
fallingPower (p,n) == p*fallingPower(p-1,(n-1)::NNI)

is a recursive definition.

Otherwise, I have no idea.

\start
Date: Tue, 21 Jul 2009 19:08:57 -0400
From: Bill Page
To: Ralf Hemmecke
Subject: Re: Internal Error : Interpreter code generation failed for expression...
Cc: Michael Becker

On Tue, Jul 21, 2009 at 10:46 AM, Ralf Hemmecke wrote:
>>   Ok, but can you explain, whyAxiom cancompile test2 ?
>>
>>    the only difference is line
>>           n(i,j) := fallingPower(i+j,=
j) in test0
>>    and
>>           n(i,j) := fallingPower(i,j)=
 in test2
>
> Well my guess is that because
>
> fallingPower (p,0) == 1
> fallingPower (p,n) == p*fallingPower(p-1,(n-1)::NNI)
>
> is a recursive definition.
>
> Otherwise, I have no idea.
>

There is nothing wrong with using a recursive definition for
'fallingPower'. Obviously Axiom should not fail with an "Internal
Error" in any case. That is clearly a bug.

I have no simple explanation about why test2 compiles successfully,
but notice that the domain NNI does not contain '-' as an operation,
so by writing

  fallingPower : (INT,NNI) -> INT
  fallingPower (p,n) == p*fallingPower(p-1,n-1)

you are actually forcing the interpreter to add some hidden automatic
conversions (coercions). It must coerce 'n' to 'Integer', do the
subtraction and then convert (retract) the result back to
NonNegativeInteger. This second conversion might not be possible.
Apparently in anything but the trivial case in-lining of this function
fails and that is a bug.

You might notice that something complicated is going on even in the
case of 'test2' because of the warning:

   Compiling function G1997 with type Integer -> Boolean

But if you simply omit the declaration, e.g. comment it out

  -- fallingPower : (INT,NNI) -> INT

then you see that Axiom actually assumes (Integer,Integer) -> Integer,
 no coercions are necessary and the code generation succeeds.

\start
Date: Wed, 22 Jul 2009 21:30:29 +0200
From: Michael Becker
To: list
Subject: Question:  local functions

    Hi,

    
      are functions local to other functions supported in axiom input files ?

                       AXIOM Computer Algebra System
                          Version: Axiom (May 2009)
                Timestamp: Sunday June 21, 2009 at 23:34:35
-------------------------------------------------------------------------=
----
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
-------------------------------------------------------------------------=
----

   Re-reading compress.daase   Re-reading interp.daase
   Re-reading operation.daase
   Re-reading category.daase
   Re-reading browse.daase
(1) ->
(1) -> )re te3
(1) ->

fallingPower : (Integer,NNI) -> Integer

                                                                   Type: =
Void

f :(Integer,INT, NNI,NNI) -> Integer

                                                                   Type: =
Void
f(x,r,n,c) == if c = n then r else f(x-1,r*x,n,c+1)

                                                                   Type: =
Void

fallingPower (p,n) == f(p,n,1,0)

                                                                   Type: =
Void

gpp:(Integer,NNI) -> Integer

                                                                   Type: =
Void
gpp (p,n) ==
   local g :(Integer,Integer,INT,INT) -> Integer
   g(x,r,m,c) == if c = n then r else g(x-1,r*x,m,c+1)
   g(p,1,n,0)

                                                                   Type: =
Void
(7) -> gpp(13,1)
   Compiled code for gpp has been cleared.
   Compiling function g with type (Integer,Integer,Integer,Integer) ->
      Integer
   Compiling function gpp with type (Integer,NonNegativeInteger) ->
      Integer
   There are no library operations named gpp
      Use HyperDoc Browse or issue
                                )what op gpp
      to learn if there is any operation containing " gpp " in its
      name.

   Cannot find a definition or applicable library operation named gpp
      with argument type(s)
                                   Integer
                             NonNegativeInteger

      Perhaps you should use "@" to indicate the required return type,
      or "$" to specify which version of the function you need.
(7) -> )display val g
   Definition:
     g (x,r,m,c) ==
       if c= r
         then r
         else g(x - 1,r x,m,c + 1)
(7) ->                                 

\start
Date: Sat, 25 Jul 2009 01:43:22 +0200
From: Michael Becker
To: list
Subject: bad errormessage: There are no library operations named ADEF


    Hi,


(1) -> (1,2)
(1) ->
   (1)  [1,2]
                                                  Type: Tuple =
PositiveInteger
(2) -> select ((1,2),0)
(2) ->
   (2)  1
                                                        Type: =
PositiveInteger
(3) -> (x +-> select(x,0)) ((1,2)::Tuple INT)
(3) ->
   (3)  1
                                                        Type: =
PositiveInteger
(4) -> ((x : (Tuple INT)):INT +-> select(x,0))  ((1,2))
   There are no library operations named ADEF
      Use HyperDoc Browse or issue
                                )what op ADEF
      to learn if there is any operation containing " ADEF " in its
      name.

   Cannot find a definition or applicable library operation named ADEF
      with argument type(s)
                               PositiveInteger
                               PositiveInteger

      Perhaps you should use "@" to indicate the required return type,
      or "$" to specify which version of the function you need.

\start
Date: Sat, 25 Jul 2009 03:18:41 +0200
From: Michael Becker
To: list
Subject: composition of functions not supported in axiom ???

    Hi,

       the following shows that f(g(x)) does not always behave as =
expected.


  
(1) -> istr := [i for i in  1..]
(1) ->
   (1)  [1,2,3,4,5,6,7,8,9,10,...]
                                                 Type: Stream =
PositiveInteger
(2) -> filterWhile ((x+-> (x ~= 3)),cons(9,istr))
(2) ->
   (2)  [9,1,2]
                                                 Type: Stream =
PositiveInteger
(3) -> maxIndex %
(3) ->
   (3)  3
                                                        Type: =
PositiveInteger
(4) -> maxIndex ( filterWhile ((x+-> (x ~= 3)),cons(9,istr)) )
 4) ->
   >> Error detected within library code:
   maxIndex: infinite stream

\start
Date: Sat, 25 Jul 2009 00:22:52 -0400
From: William Sit
To: Michael Becker
Subject: Re: bad errormessage: There are no library operations named ADEF

Dear Michael:

The following works, but we shouldn't have to use such 
"unnatural" transformation, since (1,2) is a Tuple object 
(or, is it, always? see below). I also agree the error 
message is bad, but that is neither news nor where the 
problem seems to lie.

((x : (Tuple INT)):INT +-> select(x,0)) ((1,2)::Tuple INT)

or simpler:

((x : (Tuple INT)):INT +-> select(x,0)) [1,2]

Axiom transcript:

(6) -> ((x:(TUPLE INT)):INT+->select(x,0)) [1,2]

   (6) 1
                                                        Type: 
PositiveInteger
(7) -> ((x:(TUPLE INT)):INT+->select(x,0)) (1,2)

   There are no library operations named ADEF
      Use HyperDoc Browse or issue
                                )what op ADEF
      to learn if there is any operation containing " ADEF 
" in its
      name.

   Cannot find a definition or applicable library 
operation named ADEF
      with argument type(s)
                               PositiveInteger
                               PositiveInteger

      Perhaps you should use "@" to indicate the required 
return type,
      or "$" to specify which version of the function you 
need.
(7) -> (1,2)

   (7) [1,2]
                                                  Type: 
Tuple PositiveInteger

(8) -> [1,2]

   (8) [1,2]
                                                   Type: 
List PositiveInteger

Note that the outputform of a tuple uses square brackets.

An examination of the code for Tuple.spad shows that a 
tuple can be input only from a "PrimitiveArray S" which 
inherits from "OneDimensionalArrayAggregate(S)". However, 
the way the Interpreter accepts tuples as input is 
inconsistent:

select((1,2),0) succeeds, but select([1,2],0) fails.

Further investigation shows that the problem has nothing 
to do with anonymous functions. It appears that the 
Interpreter treats (...) differently for unary from binary 
or higher arity functions. For unary function, the 
parenthesis is ignored, while for binary or higher arity 
functions, it is treated as delimiters for a tuple. The 
[1,2] construction forces the Interpreter to view this 
more favorably as a single argument.

This problem survives from Nag Axiom 2.3. If the 
observations above are correct, to fix it, it would would 
require the Interpreter to search by interpreting (...) 
first as a tuple, and failing that, as a single argument; 
or in the reverse order.


(1) -> f==((x:(TUPLE INT)):INT+->select(x,0))
   Function declaration f : Tuple Integer -> Integer has 
been added to
      workspace.
                                                           
       Type: Void
(2) -> )set mess bot on
(2) -> f (1,2,3) -- treated as 3 arguments, same as 
f(1,2,3)

Function Selection for f
      Arguments: (PI,PI,PI)
   -> no function f found for arguments (PI,PI,PI)
   There are no library operations named f
      Use HyperDoc Browse or issue
                                 )what op f
      to learn if there is any operation containing " f " 
in its name.

   Cannot find a definition or applicable library 
operation named f
      with argument type(s)
                               PositiveInteger
                               PositiveInteger
                               PositiveInteger

      Perhaps you should use "@" to indicate the required 
return type,
      or "$" to specify which version of the function you 
need.
(2) -> f ((1,2,3)) --treated as 3 arguments, same as 
f(1,2,3)

Function Selection for f
      Arguments: (PI,PI,PI)
   -> no function f found for arguments (PI,PI,PI)
   There are no library operations named f
      Use HyperDoc Browse or issue
                                 )what op f
      to learn if there is any operation containing " f " 
in its name.

   Cannot find a definition or applicable library 
operation named f
      with argument type(s)
                               PositiveInteger
                               PositiveInteger
                               PositiveInteger

      Perhaps you should use "@" to indicate the required 
return type,
      or "$" to specify which version of the function you 
need.
(2) -> f (1,2,3)::Tuple INT -- wrong association, still 
treated as f(1,2,3)

Function Selection for f
      Arguments: (PI,PI,PI)
   -> no function f found for arguments (PI,PI,PI)
   There are no library operations named f
      Use HyperDoc Browse or issue
                                 )what op f
      to learn if there is any operation containing " f " 
in its name.

   Cannot find a definition or applicable library 
operation named f
      with argument type(s)
                               PositiveInteger
                               PositiveInteger
                               PositiveInteger

      Perhaps you should use "@" to indicate the required 
return type,
      or "$" to specify which version of the function you 
need.
(2) -> f ((1,2,3)::Tuple INT) -- forces (1,2,3) as a 
single argument

Function Selection for f
      Arguments: TUPLE INT

Function Selection for select
      Arguments: (TUPLE INT,NNI)
      Target type: INT

[1] signature: (TUPLE INT,NNI) -> INT
      implemented: slot (Integer)$(NonNegativeInteger) 
from TUPLE INT

   Compiling function f with type Tuple Integer -> Integer

[1] signature: TUPLE INT -> INT
      implemented: local function *1;f;1;initial


   (2) 1
                                                        Type: 
PositiveInteger
(3) -> f [1,2,3] -- a simpler way to force as single 
argument

Function Selection for construct
      Arguments: (PI,PI,PI)
      Target type: TUPLE INT
   -> no function construct found for arguments (PI,PI,PI)

Function Selection for f
      Arguments: TUPLE INT

[1] signature: TUPLE INT -> INT
      implemented: local function *1;f;1;initial


   (3) 1
                                                        Type: 
PositiveInteger
(4) -> select ((1,2,3),0) -- (1,2,3) treated as first of 
two arguments

Function Selection for select
      Arguments: (TUPLE PI,NNI)

[1] signature: (TUPLE PI,NNI) -> PI
      implemented: slot 
(PositiveInteger)$(NonNegativeInteger) from TUPLE PI


   (4) 1
                                                        Type: 
PositiveInteger
(5) -> select ([1,2,3],0) -- Interpreter does not coerce 
List to Tuple in higher arity

Function Selection for select
      Arguments: (LIST PI,NNI)
   -> no function select found for arguments (LIST PI,NNI)

Function Selection for select
      Arguments: (LIST NNI,INT)
   -> no function select found for arguments (LIST 
NNI,INT)

Function Selection for select
      Arguments: (LIST INT,SINT)
   -> no function select found for arguments (LIST 
INT,SINT)

Function Selection for select
      Arguments: (LIST SINT,SINT)
   -> no function select found for arguments (LIST 
SINT,SINT)
   There are 4 exposed and 1 unexposed library operations 
named select
      having 2 argument(s) but none was determined to be 
applicable.
      Use HyperDoc Browse, or issue
                             )display op select
      to learn more about the available operations. 
Perhaps
      package-calling the operation or using coercions on 
the arguments
      will allow you to apply the operation.

   Cannot find a definition or applicable library 
operation named
      select with argument type(s)
                            List PositiveInteger
                             NonNegativeInteger

      Perhaps you should use "@" to indicate the required 
return type,
      or "$" to specify which version of the function you 
need.



William

On Sat, 25 Jul 2009 01:43:22 +0200
  Michael Becker wrote:
>
>
>     Hi,
>
>
>(1) -> (1,2)
>(1) ->
>    (1)  [1,2]
>                                                   Type: 
>Tuple PositiveInteger
>(2) -> select ((1,2),0)
>(2) ->
>    (2)  1
>                                                         Type: 
>PositiveInteger
>(3) -> (x +-> select(x,0)) ((1,2)::Tuple INT)
>(3) ->
>    (3)  1
>                                                         Type: 
>PositiveInteger
>(4) -> ((x : (Tuple INT)):INT +-> select(x,0))  ((1,2))
>    There are no library operations named ADEF
>       Use HyperDoc Browse or issue
>                                 )what op ADEF
>       to learn if there is any operation containing " 
>ADEF " in its
>       name.
>
>    Cannot find a definition or applicable library 
>operation named ADEF
>       with argument type(s)
>                                PositiveInteger
>                                PositiveInteger
>
>       Perhaps you should use "@" to indicate the 
>required return type,
>       or "$" to specify which version of the function 
>you need.

\start
Date: Sat, 25 Jul 2009 00:23:22 -0400
From: William Sit
To: Michael Becker
Subject: Re: composition of functions not supported in axiom ???

Dear Michael:

I think this is a problem with operations on Stream 
objects, in that evaluation is not automatic (lazy 
evaluation). Thus you must explicitly request that the 
Stream be evaluated.

(11) -> maxIndex (complete filterWhile ((x+-> (x ~= 
3)),cons(9,istr)) )

   (11) 3
                                                        Type: 
PositiveInteger

William


On Sat, 25 Jul 2009 03:18:41 +0200
  Michael Becker wrote:
>
>
>     Hi,
>
>        the following shows that f(g(x)) does not always 
>behave as expected.
>
>
>    
>(1) -> istr := [i for i in  1..]
>(1) ->
>    (1)  [1,2,3,4,5,6,7,8,9,10,...]
>                                                  Type: 
>Stream PositiveInteger
>(2) -> filterWhile ((x+-> (x ~= 3)),cons(9,istr))
>(2) ->
>    (2)  [9,1,2]
>                                                  Type: 
>Stream PositiveInteger
>(3) -> maxIndex %
>(3) ->
>    (3)  3
>                                                         Type: 
>PositiveInteger
>(4) -> maxIndex ( filterWhile ((x+-> (x ~= 
>3)),cons(9,istr)) )
>  4) ->
>    >> Error detected within library code:
>    maxIndex: infinite stream

\start
Date: Sun, 26 Jul 2009 01:44:11 -0500
From: Tim Daly
To: list
Subject: July 2009 Axiom release

July 26, 2009 Release Notes

The syntactic conversion from the prior #1 form to the +-> form
is complete except for the GUESS package. Both forms still work
but the #1 form is discouraged.


All algebra files from src/algebra are now in books.


Work has concentrated on the hyperdoc browser. 
  * The browser files which get autoloaded into the interpreter were
    merged and removed in preparation for being rewritten into book form.
  * Glossary files were missing from the build and were added.


Work has started on a new CATS collection of verified algebraic identities,
the tpiezas set. See http://sites.google.com/site/tpiezas


Volume 5: Axiom Interpreter
  * set message autoload now defaults to off


Volume 7 Axiom Hyperdoc
  * htsearch moved to $AXIOM/bin


Volume 10.1 Axiom Algebra Theory
  * add chapter on quaternions


Volume 10.3 Domains
  * Any now has regression and help files
  * MathMLFormat domain moved from Volume 10.4
  * TexFormat has regression and help files
  * TexFormat fix for horizontal fractions
  * Quaternion was added from src/algebra


Volume 10.4 Packages
   * IntegerNumberTheoryFunctions fix divisors regression
   * Waldek's QUATCT2 algebra was added, including a help file, 
     regression tests and command examples.


Makefile 
  * make help files in parallel
  * make xhtml pages in parallel
  * make books documentation in parallel


interpreter
  * src/interp/i-output.boot fix horizontal fractions


axiom-website
  * download.html add mandriva
  * download.html add may2009 binaries


input files
  * ffdemo.input fix steps 27, 57 due to divisors change
  * numbers.input fix random zero failure
  * spline.input explain how to compute 2D splines
  * tpiezas001.input CATS tests of algebraic identities
  * tpiezas002.input CATS tests of algebraic identities

\start
Date: Thu, 30 Jul 2009 21:59:14 -0500
From: Eduardo Cavazos
To: list
Subject: build error

Hi!

The build finishes on my system with the following output:

----------------------------------------------------------------------
make[4]: Entering directory `/src/axiom/int/input'
0 starting algebra regression testing
make[5]: Entering directory `/src/axiom/int/input'
make[5]: *** No rule to make target `Any.regress', needed by `all'.  Stop.
make[5]: Leaving directory `/src/axiom/int/input'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/src/axiom/int/input'
make[3]: *** [regress] Error 2
make[3]: Leaving directory `/src/axiom/src/input'
make[2]: *** [inputdir] Error 2
make[2]: Leaving directory `/src/axiom/src'
make[1]: *** [srcdir] Error 2
make[1]: Leaving directory `/src/axiom'
make: *** [all] Error 2
/src/axiom #
----------------------------------------------------------------------

Any guesses?

I'm on a Linux system with gcc 4.2.2. Let me know if you need more 
particular information.

Thanks!

Ed



