Мне нужно написать рекурсивную функцию, которая вычисляет сумму всех натуральных чисел, меньших, чем n.
Моя функция работает на верхнем уровне, но мне не удается использовать ее в сценарии:
let rec sum x =
if x = 0 then 0 else x + sum (x - 1)
let () =
Printf.printf "%d\n" sum 4
При компиляции я получаю следующую ошибку:
Error: This expression has type
('a -> 'b, out_channel, unit, unit, unit, 'a -> 'b)
CamlinternalFormatBasics.fmt
but an expression was expected of type
('a -> 'b, out_channel, unit, unit, unit, unit)
CamlinternalFormatBasics.fmt
Type 'a -> 'b is not compatible with type unit
для последней строки.