Lessico IT › Programmazione › Trampolino (trampoline)

Trampolino (trampoline)

Programmazione Svenska → Aggiornato: 2026-10-02

Pattern per simulare l'ottimizzazione delle chiamate di coda nei linguaggi che non la prevedono. La funzione ricorsiva restituisce una funzione («thunk») invece di richiamarsi direttamente; un ciclo principale esegue i thunk uno dopo l'altro ed evita lo stack overflow.

Pattern classico di Scheme, prima che la TCO fosse standardizzata. Si usa per algoritmi profondamente ricorsivi in JS/Python/Java, che non hanno la TCO. Librerie: trampoline.js, clojure.core/trampoline. Costo: una chiamata di funzione per ogni «rimbalzo» rispetto alla ricorsione diretta. Casi reali: macchine a stati con transizioni in coda, funzioni mutuamente ricorsive. In JS la TCO è nella specifica ES6, ma nessun browser (a parte Safari) l'ha implementata, per ragioni di debugging. Python non l'ha per scelta: Guido la giudicò troppo confusa per il debugging. Il trampolino è il ripiego.

← Torna al lessico