1 | initial version |

Your error is not due to recursion. The following example (slightly simplified with respect to yours) produces the same error :

```
def f(n) :
def retfunc(x) :
if n==0:
return 1
return x*f(3)
return retfunc
w=f(9)
w(3)
```

The error is at x*f(3). f(3) is a function, not a number. I don't really understand what you are trying to do. Some kind of factorial ?

The following code does not produce the error :

```
def f(n) :
def retfunc(x) :
if n==0:
return 1
return x*f(n-1)(3)
return retfunc
w=f(9)
print w(3)
```

Note : f(n-1)(3)

Hope it helps

Laurent

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.