La ricorsione in coda è una strategia ricorsiva in cui una funzione svolge una certa quantità di lavoro, quindi invoca se stessa. La "coda" si riferisce al fatto che la ricorsione si trova alla fine della funzione. Molti compilatori di linguaggi di programmazione, soprattutto funzionali, possono trasformare questi tipi di chiamate in iterazioni, il che significa che la ricorsione in coda nei linguaggi supportati può essere utilizzata senza timore di un overflow dello stack, indipendentemente dal numero di chiamate.