Продовження (програмування)
Продо́вження (іноді відкладені обчислення, англ. continuation) представляє стан програми в певний момент, який може бути збережений і використаний для переходу в цей стан. Продовження містять всю інформацію, щоб продовжити виконання програми з певної точки. Продовження схожі на goto, оскільки також дозволяють перейти будь-яке місце програми. Але продовження, на відміну від goto, дозволяють перейти лише в ділянку програми з певним станом, який має бути збережений заздалегідь, в той час, як goto дозволяє перейти у ділянку програми з неініціалізованими змінними.
Підтримка мовами програмування
Багато мов програмування надають цю можливість під різними назвами, наприклад:
- Scheme:
call/cc(стислий запис дляcall-with-current-continuation) - Standard ML:
SMLofNJ.Cont.callcc - C:
setcontextet al. (UNIX System V і GNU libc) - Ruby:
callcc - Smalltalk:
Continuation currentDo:, в більшості сучасних середовищ для Smalltalk продовження можуть бути реалізовані без підтримки віртуальної машини. - Rhino :
Continuation - Haskell :
callCC(в модуліControl.Monad.Cont) - Factor :
callcc0іcallcc1
Див. також
Посилання
- Продовження всесвітнього павутиння — про використання продовжень для побудови веб-застосунків.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.