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

Как реализовать продолжения?
Я работаю над интерпретатором Scheme, написанным на C. В настоящее время он использует стек среды выполнения C в качестве собственного стека, что создает небольшую проблему с реализацией продолжений. Моим текущим решением является ручное копирование...
8958 просмотров
schedule 08.02.2023

Продолжения в Clojure
Я где-то читал, что богатый Хикки сказал: «Я думаю, что продолжения могут быть хороши в теории, но не на практике» Я не знаком с clojure. 1. Есть ли в clojure продолжения? 2. Если нет, то нужны ли вам продолжения? Я видел много хороших...
10984 просмотров

Может кто-нибудь объяснить это продолжение в схеме?
Я изучаю продолжения, но не могу понять этот код. Почему он входит в бесконечный цикл? (let ((cont #f)) (call/cc (lambda (k) (set! cont k))) (cont #f))
923 просмотров

Проблема стиля программирования Haskell CPS
вот функция умножает элементы в списке, используя стиль CPS mlist xx k = aux xx k where aux [] nk = nk 1 aux (0:xs) nk = k 0 aux (x:xs) nk = aux xs $ \v -> mul x v nk что, если я заменю 'k' на 'nk' в выражении aux (0:xs) nk =...
328 просмотров
schedule 29.11.2022

Как этот итератор списка схемы использует call-with-current-continue?
Я пытаюсь прочитать этот код: (define list-iter (lambda (a-list) (define iter (lambda () (call-with-current-continuation control-state))) (define control-state (lambda (return) (for-each (lambda...
1021 просмотров
schedule 06.04.2022

Почему примитивы продолжения с разделителями называются shift и reset?
Думаю, я понимаю (в целом), что означают shift и reset . Однако я не понимаю, почему они так названы? Какое отношение имеют shift и reset как примитивы продолжения с разделителями к словам "сдвиг" и "сброс" в английском языке?
1933 просмотров

Выход из монады IO внутри монады Continuation
Запутанный заголовок для запутанного вопроса! Я понимаю а) монады, б) монаду IO, в) монаду Cont ( Control.Monad.Cont ) и d) ContT монада-преобразователь продолжения. (И я смутно понимаю преобразователи монад в целом — хотя недостаточно, чтобы...
1194 просмотров
schedule 28.04.2023

Использование продолжений Scala для неблокирующих API
Я пытаюсь использовать продолжения Scala (2.9.0) для создания кажущегося блокирующим API, но на самом деле это асинхронно. Предположим, вы хотите написать что-то вроде: if(ask("Continue?")) //Prompts Yes/No name = input("Enter your name")...
563 просмотров
schedule 28.04.2022

Понимание продолжений в JavaScript
Я пытаюсь решить последнее упражнение этого Учебного пособия по закрытию JavaScript , в котором рассматривается передача продолжения . Это упражнение: Определите функцию с именем bothC, аналогичную seqC, которая принимает функции fC и gC и...
418 просмотров
schedule 17.11.2023

Стиль прохождения продолжения (CPS) при построении графа
Я работаю над библиотекой для поверхностей подразделения. Чтобы представить топологию сетки, я использую своего рода реечную структуру данных с разделенными вершинами (см. диаграмму слева). Во время построения сетки, которую также можно...
756 просмотров

Продолжения и для понимания в чем несовместимость?
Я новичок в Scala и пытаюсь осмыслить продолжения, я пытаюсь воспроизвести оператор yield return C #. После этого сообщения я написал следующий код: package com.company.scalatest import scala.util.continuations._; object GenTest { val...
815 просмотров

Продолжение или приостановка и возобновление в API сервлета 3.0 для связи с клиентом?
Мы находимся в процессе миграции двухуровневого приложения Swing в веб-приложение (tomcat, Spring MVC, extJS, если это имеет значение). Мы нашли такой код в приложении (упрощенный псевдокод Javaesc). class DoSomethingComplicatedAction extends...
2034 просмотров

Продолжение задачи (OnlyOnFaulted) по-прежнему получает незамеченное исключение
У меня есть задача с продолжением для обработки ошибок: var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext(); var loadTask = Task<List<OrderItemViewModel>>.Factory.StartNew(() => { throw new Exception("derp");...
1619 просмотров

Поддерживает ли плагин продолжения Scala вложенный сдвиг?
Я просматриваю следующий учебник Shift/Reset: http://www.is.ocha.ac.jp/~asai/cw2011tutorial/main-e.pdf . На данный момент я получил довольно хорошие результаты при переводе примеров OchaCaml на Scala (вплоть до раздела 2.11). Но теперь я,...
259 просмотров
schedule 18.03.2022

Использование продолжений Scala с циклами while
Я понимаю, что это противоречит обычному пониманию вопросов SO, но следующий код работает, хотя я думаю, что он не должен работать. Ниже представлена ​​небольшая программа на Scala, в которой используются продолжения с циклом while. Согласно моему...
358 просмотров

Использование boost::future с продолжениями и boost::when_all
Я хотел бы использовать boost::future с продолжениями и boost::when_all / boost::when_any . Boost trunk — не 1.55 — включает реализации для последнего (по образцу предложения здесь , ожидается для C++ 14/17 и Boost 1.56). Это то, что у...
2196 просмотров
schedule 30.08.2023

Реализовать императивный оператор возврата в интерпретаторе
Я пытаюсь реализовать простой императивный язык в haskell. Вообще говоря, моя программа представляет собой список операторов (таких как арифметическое выражение, если/тогда, блочный оператор). У моего оценщика простое состояние: стек лексических...
464 просмотров
schedule 14.05.2022

Точное управление потоком в Haskell
Идея Привет! Я пытаюсь реализовать в Haskell библиотеку обработки изображений, основанную на идеологии потока данных. У меня проблема, связанная с тем, как я хочу обрабатывать поток управления. Основная идея состоит в том, чтобы ввести time...
855 просмотров

Setjmp/longjmp в продолжении Ruby
Я задавался этим вопросом, копаясь в коде cont.c в текущей версии Ruby. В документации setjmp говорится, что вызов longjmp для структуры jmp_buf после возврата вызывающего объекта setjmp является ошибкой. Но, кажется, Ruby делает это...
252 просмотров
schedule 12.03.2024

(звонок/cc): Что такое продолжение?
Этот вопрос задавался несколько раз на SO, но ни один из них не решает мой вопрос. Что такое продолжение? Рассмотрим следующий код: ( (lambda (pair) (begin (print (car pair)) ((cdr pair) (cons (+ 1 (car pair))...
197 просмотров