Вопросы по теме 'callcc'
call-with-current-continue - концепция сохранения состояния
Прочитав Опытного интригана , я почувствовал, что понял call/cc правильно. Но, увидев некоторые ВАУ трюки с call/cc , я обнаружил, что ошибался.
(define cc 0)
(define (f)
(call/cc (lambda (k)
(set! cc k)
3)))
(+ 1...
671 просмотров
schedule
27.11.2021
Бесконечный цикл при использовании call-with-current-continue в схеме
Я читал о call-with-current-continuation , особенно в Scheme, и читал различные статьи на многих веб-сайтах. Однако я до сих пор не понимаю, как работает поток управления при использовании call-with-current-continuation .
Например, учитывая...
155 просмотров
schedule
21.11.2021
Схема: как работает вложенный вызов / cc для сопрограммы?
Я смотрю на следующий пример сопрограммы из http://community.schemewiki.org/?call-with-current-continuation :
(define (hefty-computation do-other-stuff)
(let loop ((n 5))
(display "Hefty computation: ")
(display n)...
736 просмотров
schedule
21.03.2022
Работа с продолжениями Seaside
Как получить BlockClosure в Squeak (я хочу использовать BlockClosure>>callCC)?
Когда я пишу [#foo], это BlockContext, в чем дело?
Обновление: я понял, что BlockClosure - это в основном новый компилятор.
Вместо этого, как мне работать с...
927 просмотров
schedule
03.04.2022
Как применить callcc, чтобы он обеспечивал механизм escape-продолжения для использования с монадой продолжения
Я пытаюсь реализовать монаду продолжения в Javascript для обработки стиля передачи продолжения и асинхронных потоков управления. Вот моя монада-продолжение для обучения:
// auxiliary functions
const log = prefix => x =>...
471 просмотров
schedule
21.04.2022
Как запустить захваченные текущие продолжения в Racket
Я изучаю call/cc в Racket вдоль линий бумаги Продолжение на примере: исключения, поиск с перемещением во времени, генераторы, потоки и сопрограммы 1 .
В документе упоминается, что наиболее выгодный API получен из call/cc путем предоставления...
162 просмотров
schedule
12.05.2022
получить первый - опытный интриган
Пожалуйста, взгляните на функцию two-in-a-row*? в главе 19.
Мой вопрос касается (leave '()) во вспомогательной функции get-first . Обратите внимание, что (waddle l) вернет либо '() , либо атом, что указывает на исчерпание списка или...
192 просмотров
schedule
03.06.2022
Как сделать часть макроса гигиеничной
Я хотел бы иметь версию lambda под названием lambda-r , из которой можно return . Пример:
(+ ((lambda-r ()
(return 1)
2)) 5)
Это даст значение 6 . Хотя вы могли бы ожидать, что значение будет равно 7, оно равно 6, поскольку 1...
263 просмотров
schedule
27.07.2022
звонок / cc в Lua - возможно?
В статье Википедии о продолжении говорится: «На любом языке, который поддерживает замыкания , можно писать программы в стиле продолжения передачи и вручную реализовать call / cc . " Либо это правда, и мне нужно знать, как это сделать, либо это...
4183 просмотров
schedule
29.01.2023
call / cc реализация?
Пытаюсь узнать, как реализован call / cc. Лучшее, что я нашел, - это фрагмент Haskell:
callCC f = Cont $ \k -> runCont (f (\a -> Cont $ \_ -> k a)) k
Хотя это не так просто, как хотелось бы из-за Cont и runCont . Я также нашел...
6349 просмотров
schedule
06.06.2023
Тип продолжения в Racket и определение текущего продолжения
Какой тип продолжения в Racket? А как определить текущее продолжение по вызову call/cc? (например: является ли правильной стратегией предположение, что текущим продолжением является то, что следует сразу после закрывающей скобки call/cc?)
97 просмотров
schedule
17.11.2022
Какое продолжение call / cc в блоке let
Я наткнулся на отрывок, объясняющий продолжение с помощью call / cc. Во фрагменте, приведенном ниже, какое продолжение для fn, вызываемого call / cc, - это весь блок let или строки под call / cc? Также может кто-нибудь объяснить, почему весь...
292 просмотров
schedule
20.10.2022
Я просто не получаю продолжения!
Что они собой представляют и для чего они нужны?
У меня нет степени CS, и мой опыт работы - VB6 -> ASP -> ASP.NET/C#. Может ли кто-нибудь объяснить это ясно и кратко?
2962 просмотров
schedule
15.11.2023