Во многих языках программирования можно прервать вычисление значения функции, как только результат станет ясен, с помощью оператора return. Обычно его использование возможно только в теле функции. Продолжения (continuations) - это возможность положить оператор return в переменную.
В зависимости от степени поддержки языком программирования, возможности использования могут включать от небольшого изменения взгляда на поток управления (иногда удобнее не вызывать функции по очереди, а попросить вызываемую функцию саму вызвать следующую в цепочке) до многократного повторения вычисления как если бы некоторая функция вернула бы не то значение, которое она на самом деле вернула при вызове.
В докладе будут описаны варианты степени поддержки продолжений (на примере языков, близких к Scheme), описано построение библиотеки, близкой по духу к недетерминированной машине Тьюринга, и, вероятно, (если случайно хватит времени) показаны некоторые другие примеры применений.