Правильная терминология для продолжения
Я ковыряюсьпродолжения недавно, и я запутался в правильной терминологии.Вот Габриэль Гонсалес говорит:
Продолжение на Haskell имеет следующий тип:
newtype Cont r a = Cont { runCont :: (a -> r) -> r }
то есть весь(a -> r) -> r
вещь является продолжением (без упаковки)
википедия статья, кажется, поддерживает эту идею, говоря
продолжение - это абстрактное представление состояния управления компьютерной программой.
Тем не мение,Вот авторы говорят, что
Продолжения - это функции, которые представляют «оставшиеся вычисления».
но это было бы только(a->r)
частьCont
тип. И это соответствует тому, что говорит Евгений ЧингВот:
вычисление (функция), которая требует функции продолжения для полной оценки.
Мы собираемся много раз увидеть эту функцию, поэтому мы дадим ей более интуитивное имя. Давайте назовем их функциями ожидания.
Я видел другой учебник (Брайан Бекман и Эрик Мейер), где они все называют (функция ожидания)наблюдаемый и функция, которая требуется для его завершениянаблюдатель.
Что такое продолжение, то(a->r)->r
чтоли или просто(a->r)
вещь (без упаковки)?Является ли формулировка наблюдаемой / наблюдателя о правильной?Являются ли приведенные выше цитаты действительно противоречивыми, есть ли общая истина?