Une récursivité profonde peut déborder de la pile. tailrec marque une fonction dont l'appel récursif est en position de queue — le compilateur la réécrit dans une boucle. La fonction doit s'appeler directement comme dernière opération (éventuellement à l'intérieur de if/else). La récursivité mutuelle n'est pas tailrec.

Exemple factoriel
Full content is available with a subscription.
Get full access to all courses on the platform for one year with a single payment.
Unlike other platforms that charge per course, here you get everything for one price, and after one year of use there will be no automatic charge for the following year.