В чем причина пометки рекурсивной функции как rec в F #?

Я не уверен, что это глупый вопрос, но я просматривал учебник, который идет с VS 2010, и есть такая функция:

let rec factorial n = if n=0 then 1 else n * factorial (n-1)

Почему эта рекурсивная функция отмечена значком ключевое слово rec?

Это так, чтобы компилятор был уверен в том, что он рекурсивен, поэтому может выполнять определенные оптимизации?

Что произойдет, если вы его исключите?

15
задан Joan Venge 17 September 2010 в 22:58
поделиться