Le procedure sono casi particolari di un costrutto più generale: le coroutine (definite, tra gli altri, in Simula, Modula-2, C#, Lua, e utilizzabili anche nei linguaggi assemblativi).
Le procedure sono casi particolari di un costrutto più generale: le coroutine (definite, tra gli altri, in Simula, Modula-2, C#, Lua, e utilizzabili anche nei linguaggi assemblativi). Le coroutine possono, mediante un’apposita istruzione, restituire il controllo alla procedura chiamante e, alla successiva riattivazione, riprendere l’esecuzione dall’istruzione successiva. Sono un costrutto relativamente poco diffuso, ma assai versatile e potente.