การเรียกซ้ำแบบลึกสามารถล้นสแต็กได้ tailrec ทำเครื่องหมายฟังก์ชันที่มีการเรียกซ้ำอยู่ในตำแหน่งส่วนท้าย - คอมไพลเลอร์จะเขียนใหม่เป็นลูป ฟังก์ชันจะต้องเรียกตัวเองว่าเป็นการดำเนินการล่าสุดโดยตรง (อาจอยู่ภายใน if/else) การเรียกซ้ำร่วมกันไม่ใช่การเรียกซ้ำ

ตัวอย่างแฟกทอเรียล
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.