I have been reading alot about functional programming and f#. I have a snippet of code that I cannot understand. I am familiar with recursive programs but this particular code is bugging me
open System
let rec fact x =
if x < 1 then 1
else x * fact (x - 1)
fact 6
In this snippet of code there is no where in the code that terminates the recusion. How does this program know when to stop. If I programmed this in c# I would tell the program to stop recursing when the index or iterator is higher then 6.