Продолжение (call / cc) в схеме

Мне нужно понять «Продолжения в схеме» для предстоящих экзаменов, и я вообще не имею представления о продолжениях. Может ли кто-нибудь предложить мне источники того, как продолжить обучение?

С уважением,

смуглый


person name_masked    schedule 07.05.2010    source источник
comment
возможный дубликат stackoverflow.com/questions/612761/what-is-call-cc   -  person Dave DeLong    schedule 07.05.2010
comment
@Dave: Кажется, в этой ветке говорится о других языках программирования, которые меня не интересуют. Кроме того, информация, предоставленная Алексом ниже, лучше с точки зрения новичка. Пожалуйста, дайте мне знать, существуют ли такие ссылки для начинающих   -  person name_masked    schedule 07.05.2010


Ответы (2)


Я считаю этот краткий черновик учебного пособия полезной отправной точкой. Как только вы усвоите эти самые основы, более обширное, специфичное для схемы покрытие можно найти здесь; для более широкого обзора может помочь wikipedia (и в конце есть несколько хороших ссылок ).

person Alex Martelli    schedule 07.05.2010
comment
Спасибо, Алекс. У меня есть запрос по ссылке «Краткий черновик учебника». В примере есть (+ 2 (call / cc (lambda (k) (set! Handle k) 2))). Почему у нас здесь два крайних правых? Это потому, что нам нужно изначально связать дескриптор с продолжением, или для этого есть какая-то другая причина? - person name_masked; 07.05.2010
comment
@ darkie15, крайний правый 2 - это значение, которое возвращает call/cc, в результате чего результат выражения 4 (поскольку это _4 _! -); в качестве побочного эффекта lambda устанавливает имя handle для продолжения, поэтому в коротком руководстве показано, как затем обращаться с handle как с функцией, которая выполняет (+ 2 whatever) для своего аргумента whatever. - person Alex Martelli; 07.05.2010

Я написал эту короткую статью, чтобы заставить себя Познакомлюсь с продолжениями. Вы можете найти это полезным. Я также собрал там несколько ссылок.

person Vijay Mathew    schedule 07.05.2010
comment
этот домен недоступен - person Matthias Urlichs; 22.12.2013