Rosetta.Prg
-----------
Procedure Main()
Local k
For k := 0 to 23
? "A(", k, ", 1, -1, -1, 1, 0) =", A(k, 1, -1, -1, 1, 0)
Next
Return
Static Function A(k, x1, x2, x3, x4, x5)
Local ARetVal
Local B := {|| --k, ARetVal := A(k, B, x1, x2, x3, x4) }
If k <= 0
ARetVal := Evaluate(x4) + Evaluate(x5)
Else
B:Eval()
Endif
Return ARetVal
Static Function Evaluate(x)
Local xVal
If ValType(x) == "B"
xVal := x:Eval()
Else
xVal := x
Endif
Return xVal
//Eof
And anexed script to create a .PRG'S to generate more 800 MB in the executable project.
Best Regards.