Все вопросы: [continuations]
31 вопросов
How does PLTScheme Catch errors?
I am amazed by the "error" function in PLTScheme. If I have a division by zero, it doesnt do any other recursion and just comes out of the call stack and give me an error. Is there an implicit continuation before all the functions? Does the error throw away the call stack? Does anybody have an...
What are Scala continuations and why use them?
I just finished Programming in Scala, and I've been looking into the changes between Scala 2.7 and 2.8. The one that seems to be the most important is the continuations plugin, but I don't understand what it's useful for or how it works. I've seen that it's good for asynchronous I/O, but I haven'...
Cons of first class continuations
What are some of the criticisms leveled against exposing continuations as first class objects? I feel that it is good to have first class continuations. It allow complete control over the execution flow of instructions. Advanced programmers can develop intuitive solutions to certain kind of prob...
Continuations in Java
Is there a good implementation of continuations in Java? If so, what is the overhead like? The JVM wasn't designed with these sort of things in mind, right? So is this kind of going against the grain?
Mono Continuations - Memory keeps increasing after store()
Here's Mono Continuations' continuation_store (...). From looking at the code below, it appears as though store() follows these two branches: cont->saved_stack && num_bytes <= cont->stack_alloc_size use the memory directly else gc free the used memory, and create some ne...
Design Pattern Alternative to Coroutines
Currently, I have a large number of C# computations (method calls) residing in a queue that will be run sequentially. Each computation will use some high-latency service (network, disk...). I was going to use Mono coroutines to allow the next computation in the computation queue to continue whil...
Methods for side-effects in purely functional programming languages
At the moment I'm aware of the following methods to integrate side-effects into purely functional programming languages: effect systems continuations unique types monads Monads are often cited to be the most effective and most general way to do this. Which other methods exist? How do they co...
What are "Jetty 6 Continuations" and how do they compare to the continuations found in programming languages?
I'm looking for an answer that describes a "continuation" mechanism in a web server vs. a programming language. My understanding is that using continuations, it is trivial to have a "digits of pi" producer communicate with a "digits of pi" consumer, without explicit threading. I've heard very g...
Continuations in Clojure
I read somewhere where rich hickey said: "I think continuations might be neat in theory, but not in practice" I am not familiar with clojure. 1. Does clojure have continuations? 2. If no, don't you need continuations? I have seen a lot of good examples especially from this guy. What is ...
Особенности звонка / cc
Это связано с Что такое call / cc? , но я не хотел чтобы использовать этот вопрос для своих целей, и некоторые из его аргументов, таких как аналогия с setjmp / longjmp, ускользают от меня. Думаю, у меня есть достаточное представление о том, что такое продолжение, я думаю о нем как о снимке т...
Недетерминированный выбор с помощью оператора amb
Можно ли реализовать оператор amb Маккарти для недетерминированный выбор в C #? Очевидно, .NET не поддерживает продолжение, но yield return может быть полезен. Возможно ли это на других статических .NET-языках, таких как F #?
Какой способ лучше всего реализовать Кометы в сервлете Java
Я хочу написать приложение, использующее шаблон Кометы - это запрос, на который можно ответить, когда на сервере происходит событие, а не только как ответ на немедленный запрос. Самый простой сервер приложений для этой цели: 1) Tomcat с пакетом NIO 2) Причал с его продолжениями 3) или др...
Простейший пример обратного продолжения в схеме без явной мутации
Я написал небольшой интерпретатор схемы на C # и понял, что, как я его реализовал, было очень легко добавить поддержку для правильного продолжения. Итак, я добавил их ... но хочу «доказать», что они верны тем способом, которым я их добавил. Однако интерпретатор My Scheme не поддерживает "и...
В чем разница между продолжением (как в Smalltalk) и прерыванием (как в ассемблере)?
Мне сложно понять концепцию Continuations (которая используется в Seaside с Smalltalk). В фрагменте из Википедии говорится: "... относятся к первоклассным продолжениям, которые представляют собой конструкции, которые дают языку программирования возможность сохранять состояние выполнения в ...
Ищу надуманный пример кода: продолжения!
Итак, я считаю, что теперь понимаю продолжения, по крайней мере на некотором уровне, благодаря вики схемы сообщества и Изучить схему в Fixnum Days . Но мне бы хотелось больше практики - то есть больше примеров кода, над которыми я могу работать в своей голове (желательно надуманным, чтобы ...
Сопрограмма против продолжения против генератора
В чем разница между сопрограммой и продолжением и генератором?
Простое решение, необходимое для асинхронного продолжения jBPM в среде Seam
У меня есть приложение Seam, которое запускает бизнес-процессы. На данный момент нет другого приложения или компонента, требующего координации, есть только одно веб-приложение. Я бы хотел использовать асинхронные продолжения в бизнес-процессах, но на данный момент, если я это сделаю, процесс ...
Являются ли продолжениями монадами?
Можно ли сказать, что продолжения являются монадами? Являются ли они подмножеством монад или просто способом реализации монад? Изменить: Или, может быть, я ошибся и монады - более абстрактное понятие, чем продолжения ? (Так что здесь я действительно сравниваю яблоки с апельсинами)
Что такое call / cc?
Я несколько раз пытался понять концепцию продолжений и call / cc . Каждая попытка была неудачной. Может ли кто-нибудь объяснить мне эти концепции, в идеале с более реалистичными примерами, чем эти в Википедии или в других сообщениях SO. У меня есть опыт веб-программирования и ООП. Я также ...
Выполнить оставшуюся часть рубинового блока более одного раза
Я создаю основу для определения процессов, которые могут включать выбор. У меня это работает там, где каждый выбор - остров. Я бы предпочел, чтобы подвыборы «разветвляли» родительский выбор, чтобы все варианты были должным образом рассмотрены. choose :one => lambda { choose [a, b] ...
Продолжение утверждения на следующей строке С КОММЕНТАРИЕМ
Если у меня есть оператор в Ruby, который я хочу продолжить на следующей строке, обычно я бы добавил обратную косую черту в конце строки, например: print x \ + y Но если у меня есть комментарии к строке, это не сработает: print x #show x + y # show y Есть ли способ обойти это? ...
Можно ли программно построить фрейм стека Python и начать выполнение в произвольной точке кода?
Можно ли программно построить стек (один или несколько кадров стека) в CPython и начать выполнение с произвольной точки кода? Представьте себе следующий сценарий: У вас есть механизм рабочего процесса, в котором рабочие процессы могут быть написаны на Python с помощью некоторых конструкций ...
Стиль передачи продолжения против агрессивно обрезанного стека вызовов?
Я рассматриваю что-то вроде CPS для использования в интерпретаторе языка, основанного на акторах. Аргументы функции передаются в виде массива вариантов, а продолжение возвращается в том же массиве, поэтому простая функция def add (x,y) => x + y поэтому вызов из цикла чтения / оценки...
Python-эквивалент продолжений с Ruby
Что представляет собой Python-эквивалент следующего кода в Ruby? def loop cont=nil for i in 1..4 puts i callcc {|continuation| cont=continuation} if i==2 end return cont end > c=loop 1 2 3 4 > c.call 3 4 Ссылка: Секреты успеха легкой разработки, часть 9: Продолжени...
Есть ли быстрый язык, поддерживающий переносимые продолжения?
Мне нужен быстрый язык (т. е. язык, который может быть скомпилирован изначально для достижения производительности не более чем в 3 или 4 раза медленнее, чем C), который поддерживает переносимые продолжения. Под этим я подразумеваю продолжение, которое можно сериализовать на одном компьютере и де...
Асинхронный режим на основе событий в C #; возможен ли общий рефакторинг?
Некоторые API, например WebClient, используют шаблон Async на основе событий а>. Хотя это выглядит просто и, вероятно, хорошо работает в слабо связанном приложении (скажем, BackgroundWorker в пользовательском интерфейсе), оно не очень хорошо сочетается друг с другом. Например, вот програм...
Работа с приморскими продолжениями
Как получить BlockClosure в Squeak (я хочу использовать BlockClosure>> callCC)? Когда я пишу [#foo], что это BlockContext, в чем дело? Обновление: я понял, что BlockClosure - это в основном новый компилятор. Как мне работать с Seaside Continuations? У меня проблемы, буду признател...
Продолжения в Ruby
Кто-нибудь когда-нибудь работал над тем, чтобы Ruby выполнял продолжение (например, Seaside на Smalltalk)?
Я просто не получаю продолжения!
Что это такое и для чего они нужны? У меня нет ученой степени, и мой опыт работы с VB6 -> ASP -> ASP.NET/C#. Может ли кто-нибудь объяснить это ясно и кратко?
Ищем примеры "реального" использования продолжений
Я пытаюсь понять концепцию продолжения и нашел несколько небольших обучающих примеров, подобных этому, из Статья в Википедии : (define the-continuation #f) (define (test) (let ((i 0)) ; call/cc calls its first function argument, passing ; a continuation variable representing this...