, .
fun eval r =
let fun step (power, sum) (coeff :: rest) =
step (power * r, sum + coeff * power) rest
| step (_, sum) nil = sum
in step (1, 0)
end
, , , .
fun eval r lst =
let fun step (coeff, (power, sum)) = (power * r, sum + coeff * power)
val (_, sum) = foldl step (1, 0) lst
in sum
end
Horner, KennyTM: sepp2k, , .