Quali lingue hanno il miglior supporto per le coroutine in pila? [chiuso]

7

Diverse lingue supportano (un po 'di sapore) le coroutine.

Un modo per discriminare le coroutine è se sono stackful o no (terminologia basata su Ana Lucia de Moura; Roberto Ierusalimschy (2004). "Revisiting Coroutine". doi: 10.1145 / 1462166.1462167. CiteSeerX: 10.1.1.58.4017):.

  • Le coroutine di stack permettono che una yield o suspend di una coroutine possa essere eseguita da una funzione chiamata da una coroutine, cioè da invocazioni annidate e ciò implica che l'intera pila di chiamate deve essere preservata quando la coroutine è sospesa.

  • le coroutine inesistenti impongono la restrizione che il yield o suspend possa essere fatto solo nel corpo della coroutine stessa.

Chiaramente, le coroutine in pila hanno vantaggi in termini di modularizzazione, ma sono più costose da implementare. La mia domanda è quindi: quali lingue hanno il miglior supporto per le coroutine impilate?

Anche se ho guardato varie lingue (incluso Python, Ruby, Javascript, Lua, Scheme) la terminologia in tutte queste lingue è così diversa e le descrizioni sono spesso così poco chiare che preferisco la consulenza di un esperto.

P.S. Sono consapevole del fatto che le coroutine possono essere implementate usando continuazioni, ma la domanda riguarda specificamente le lingue che supportano nativamente le coroutine.

    
posta Paul Klint 27.11.2014 - 11:10
fonte

0 risposte

Leggi altre domande sui tag