Differenze tra le versioni di "Continuazione"

aggiunto un link a haskell
m (Bot: piccoli errori di battitura)
(aggiunto un link a haskell)
*[[C (linguaggio)|C]]: <code>setcontext</code> et al. ([[UNIX System V]] e [[GNU]] libc)
*[[Ruby]]: <code>callcc</code>
*[[Stackless Python|Python]]: (vedi oltre) possedeva il moodulomodulo <tt>continuation</tt> ma è stato rimosso.
*[[Haskell]]: Monade di continuazione
 
La continuazione si utilizza per "saltare" da una parte del programma all'altra a seconda delle necessità. Funziona in modo analogo al comando goto presente nel [[BASIC]] con la differenza che il comando goto è sconsigliato perché rende la manutenzione del codice difficile mentre la continuazione non rende ardua la modifica del codice quando questo diventa di elevate dimensioni. La continuazione non salta tra linee di codice ma tra stati. Si può vedere il programma come un insieme di stati che evolvono a seconda delle azioni dell'utente e la continuazione consente di saltare tra stati diversi a seconda delle necessità. Utilizza un modello di programmazione simile a quello delle [[Rete di Petri|reti di Petri]].
 
15

contributi