Вопросы по теме 'callcc'

call-with-current-continue - концепция сохранения состояния
Прочитав Опытного интригана , я почувствовал, что понял call/cc правильно. Но, увидев некоторые ВАУ трюки с call/cc , я обнаружил, что ошибался. (define cc 0) (define (f) (call/cc (lambda (k) (set! cc k) 3))) (+ 1...
671 просмотров

Бесконечный цикл при использовании call-with-current-continue в схеме
Я читал о call-with-current-continuation , особенно в Scheme, и читал различные статьи на многих веб-сайтах. Однако я до сих пор не понимаю, как работает поток управления при использовании call-with-current-continuation . Например, учитывая...
155 просмотров

Схема: как работает вложенный вызов / 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 просмотров

Как применить callcc, чтобы он обеспечивал механизм escape-продолжения для использования с монадой продолжения
Я пытаюсь реализовать монаду продолжения в Javascript для обработки стиля передачи продолжения и асинхронных потоков управления. Вот моя монада-продолжение для обучения: // auxiliary functions const log = prefix => x =>...
471 просмотров

Как запустить захваченные текущие продолжения в Racket
Я изучаю call/cc в Racket вдоль линий бумаги Продолжение на примере: исключения, поиск с перемещением во времени, генераторы, потоки и сопрограммы 1 . В документе упоминается, что наиболее выгодный API получен из call/cc путем предоставления...
162 просмотров
schedule 12.05.2022

получить первый - опытный интриган
Пожалуйста, взгляните на функцию two-in-a-row*? в главе 19. Мой вопрос касается (leave '()) во вспомогательной функции get-first . Обратите внимание, что (waddle l) вернет либо '() , либо атом, что указывает на исчерпание списка или...
192 просмотров

Как сделать часть макроса гигиеничной
Я хотел бы иметь версию 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 просмотров