1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
function fibo(n : int) : int = if n < 0 then -1 else if n <= 1 then n else let var curr := 0 var prev1 := 1 var prev2 := 0 in (for i := 2 to n do (curr := prev1 + prev2; prev2 := prev1; prev1 := curr)); curr end