Procedure Main() Local k For k := 0 to 20 ? "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