Identifying tail call in recursive constructs
One of the characteristics of a functional programming language is the common use of recursive constructs in many of the implementation of the functions; F# compiler itself is also a good sample of code that has many implementations of recursive constructs.
Functional programming languages always prefer to have recursive constructs instead of having loops or iterative constructs because recursive is better to use in the most complex calculations or in any operation that requires the ability to perform the same operation when the problem solving or calculation is broken into smaller problems.
Having recursive calls is quite common in F#, and it is recommended to optimize further to have tail call optimization, although the optimization may not be applied to all the cases.
Overview of recursion in functional programming
The use of recursion is more apparent in dealing with problems that require resolving problems into smaller problems with the same...