Bill Page wrote:
> 
> Why does FriCAS print "n=13" in the following simple example of a
> nested function in the interpreter? There is no assignment to n.
> 
> (1) -> )r test3.input
> gpp (p,n) ==
>   -- nested function
>   g(x,r,m,c) ==
>     output("c=",c)
>     output("n=",n)
>     output("m=",m)
>     if c = m then r else g(x-1,r*x,m,c+1)
>   output("p=",p)
>   output("n=",n)
>   g(p,1,n,0)
> 
>                                                                    Type: Void
> -- test
> gpp(13,1)
> 
>    Compiling function g with type (Integer,Integer,Integer,Integer) ->
>       Integer
>    Compiling function gpp with type (PositiveInteger,PositiveInteger)
>        -> Integer
>    p= 13
>    n= 1
>    c= 0
>    n= 1
>    m= 1
>    c= 1
>    n= 13
>    m= 1
> 
>    (2)  13

To get value of n the g function fetches second argument.  But instead
of fetching second argument to gpp it fetches its own second argument...

-- 
                              Waldek Hebisch
[email protected] 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to