Это ноль в самой последней строке. Поскольку он имеет отступ на один символ вправо, он считается частью блока let sumToN
.
И, следовательно, вся функция main
выглядит так, как будто в ее теле есть только один let
и нет строки после let
.
Это неверный синтаксис в F #. Если в теле функции нет строк, которые нужно выполнить, такая функция ничего не делает, и поэтому ее не имеет смысла.
Чтобы исправить, удалите ноль в ноль:
let main argv =
let sumToN n = let rec f s n = if n > 0L then f (s+n) (n-1L) else s in f 0L n
//let sum = sumToN(5L)
//do printfn "%i" sum |> ignore
0