SML で多項式評価の問題を解決しようとしています。現在のコードは次のとおりです。
fun eval (nil, b:real) = 0.0
| eval(x::xs, a:real) =
let val y:real = 0.0
fun inc z:real = z+1.0;
in
(x*Math.pow(a,(inc y))) + eval(xs,a)
end;
これの問題は、y を 1 回だけインクリメントすることです。y を 0 から開始し、再帰ごとに 1 ずつ増やし続ける方法はありますか?