Продовження (програмування)
Зовнішній вигляд
Ця стаття не містить посилань на джерела. (вересень 2020) |
Продо́вження (іноді відкладені обчислення, англ. continuation) представляє стан програми в певний момент, який може бути збережений і використаний для переходу в цей стан. Продовження містять всю інформацію, щоб продовжити виконання програми з певної точки. Продовження схожі на goto, оскільки також дозволяють перейти будь-яке місце програми. Але продовження, на відміну від goto, дозволяють перейти лише в ділянку програми з певним станом, який має бути збережений заздалегідь, в той час, як goto дозволяє перейти у ділянку програми з неініціалізованими змінними.
Багато мов програмування надають цю можливість під різними назвами, наприклад:
- Scheme:
call/cc
(стислий запис дляcall-with-current-continuation
) - Standard ML:
SMLofNJ.Cont.callcc
- C:
setcontext
et al. (UNIX System V і GNU libc) - Ruby:
callcc
- Smalltalk:
Continuation currentDo:
, в більшості сучасних середовищ для Smalltalk продовження можуть бути реалізовані без підтримки віртуальної машини. - Rhino :
Continuation
- Haskell :
callCC
(в модуліControl.Monad.Cont
) - Factor[en] :
callcc0
іcallcc1
- Продовження всесвітнього павутиння — про використання продовжень для побудови вебзастосунків.
Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |