È teoricamente possibile trasformare ogni tipo di ricorsione generale in ricorsione di coda? Sono equivalenti per esempio dal punto di vista del lambda-calcolo? Questo è un dibattito tra me e un conoscente.
La mia opinione è che non è possibile ogni volta. Ad esempio, se si ha una funzione che si chiama in modo ricorsivo due o tre volte, non è possibile effettuare tutte le chiamate ricorsive in chiamate di coda, giusto? O esiste sempre un modo per ridurre il numero di chiamate ricorsive a una singola chiamata ricorsiva?