Deep recursion can overflow the stack. tailrec marks a function whose recursive call is in tail position — the compiler rewrites it to a loop. The function must call itself directly as the last operation (possibly inside if/else). Mutual recursion is not tailrec.
Factorial example
Content is available with 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.