История изменений
Исправление monk, (текущая версия) :
Кто-нибудь может на пальцах пояснить, что это за продолжения такие и как их можно использовать
Продолжение — функция, содержащая локальный контекст и остаток от текущей функции.
В отличие от goto восстанавливает стек.
Позволяет:
1. Реализовать многопоточность в стиле Erlang. С тысячами «потоков» и минимумом затраченных ресурсов
2. Реализовать логику веб-сайта без лапши обратных вызовов, а просто
(define (login)
(define-values (user pass) (ask-user-pass))
(if (check-with-db-ok? user pass)
(show-data)
(bad-password)))
3. Для любого обходчика коллекции (типа map, map-list и т.д.) можно сгенерировать итератор. Можно обходит параллельно несколько коллекций. Например, сделать сравнение деревьев через map-tree.
4. Реализовать сопрограммы.
Исходная версия monk, :
Кто-нибудь может на пальцах пояснить, что это за продолжения такие и как их можно использовать
Продолжение — функция, содержащая локальный контекст и остаток от текущей функции.
В отличие от goto восстанавливает стек.
Позволяет:
1. Реализовать многопоточность в стиле Erlang. С тысячами «потоков» и минимумом затраченных ресурсов
2. Реализовать логику веб-сайта без лапши обратных вызовов, а просто
(define (login)
(define-values (user pass) (ask-user-pass))
(if (check-with-db-ok? user pass)
(show-data)
(bad-password)))
3. Для любого обходчика коллекции (типа map, map-list и т.д.) можно сгенерировать итератор. Можно обходит параллельно несколько коллекций. Например, сделать сравнение деревьев через map-tree.
4. Реализовать сопрограммы.