5
голосов
1ответов
870 просмотров

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...

85
голосов
7ответов
23193 просмотров

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'...

4
голосов
7ответов
863 просмотров

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...

28
голосов
11ответов
15772 просмотров

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?

1
голосов
1ответов
310 просмотров

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...

12
голосов
10ответов
4995 просмотров

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...

1
голосов
3ответов
322 просмотров

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...

2
голосов
2ответов
1623 просмотров

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...

28
голосов
7ответов
10569 просмотров

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 ...

7
голосов
4ответов
1883 просмотров

Особенности звонка / cc

Это связано с Что такое call / cc? , но я не хотел чтобы использовать этот вопрос для своих целей, и некоторые из его аргументов, таких как аналогия с setjmp / longjmp, ускользают от меня. Думаю, у меня есть достаточное представление о том, что такое продолжение, я думаю о нем как о снимке т...

5
голосов
2ответов
794 просмотров

Недетерминированный выбор с помощью оператора amb

Можно ли реализовать оператор amb Маккарти для недетерминированный выбор в C #? Очевидно, .NET не поддерживает продолжение, но yield return может быть полезен. Возможно ли это на других статических .NET-языках, таких как F #?

3
голосов
2ответов
646 просмотров

Какой способ лучше всего реализовать Кометы в сервлете Java

Я хочу написать приложение, использующее шаблон Кометы - это запрос, на который можно ответить, когда на сервере происходит событие, а не только как ответ на немедленный запрос. Самый простой сервер приложений для этой цели: 1) Tomcat с пакетом NIO 2) Причал с его продолжениями 3) или др...

6
голосов
4ответов
555 просмотров

Простейший пример обратного продолжения в схеме без явной мутации

Я написал небольшой интерпретатор схемы на C # и понял, что, как я его реализовал, было очень легко добавить поддержку для правильного продолжения. Итак, я добавил их ... но хочу «доказать», что они верны тем способом, которым я их добавил. Однако интерпретатор My Scheme не поддерживает "и...

3
голосов
3ответов
880 просмотров

В чем разница между продолжением (как в Smalltalk) и прерыванием (как в ассемблере)?

Мне сложно понять концепцию Continuations (которая используется в Seaside с Smalltalk). В фрагменте из Википедии говорится: "... относятся к первоклассным продолжениям, которые представляют собой конструкции, которые дают языку программирования возможность сохранять состояние выполнения в ...

5
голосов
2ответов
1627 просмотров

Ищу надуманный пример кода: продолжения!

Итак, я считаю, что теперь понимаю продолжения, по крайней мере на некотором уровне, благодаря вики схемы сообщества и Изучить схему в Fixnum Days . Но мне бы хотелось больше практики - то есть больше примеров кода, над которыми я могу работать в своей голове (желательно надуманным, чтобы ...

147
голосов
3ответов
29369 просмотров

Сопрограмма против продолжения против генератора

В чем разница между сопрограммой и продолжением и генератором?

2
голосов
1ответов
780 просмотров

Простое решение, необходимое для асинхронного продолжения jBPM в среде Seam

У меня есть приложение Seam, которое запускает бизнес-процессы. На данный момент нет другого приложения или компонента, требующего координации, есть только одно веб-приложение. Я бы хотел использовать асинхронные продолжения в бизнес-процессах, но на данный момент, если я это сделаю, процесс ...

17
голосов
5ответов
4220 просмотров

Являются ли продолжениями монадами?

Можно ли сказать, что продолжения являются монадами? Являются ли они подмножеством монад или просто способом реализации монад? Изменить: Или, может быть, я ошибся и монады - более абстрактное понятие, чем продолжения ? (Так что здесь я действительно сравниваю яблоки с апельсинами)

51
голосов
11ответов
12551 просмотров

Что такое call / cc?

Я несколько раз пытался понять концепцию продолжений и call / cc . Каждая попытка была неудачной. Может ли кто-нибудь объяснить мне эти концепции, в идеале с более реалистичными примерами, чем эти в Википедии или в других сообщениях SO. У меня есть опыт веб-программирования и ООП. Я также ...

1
голосов
3ответов
313 просмотров

Выполнить оставшуюся часть рубинового блока более одного раза

Я создаю основу для определения процессов, которые могут включать выбор. У меня это работает там, где каждый выбор - остров. Я бы предпочел, чтобы подвыборы «разветвляли» родительский выбор, чтобы все варианты были должным образом рассмотрены. choose :one => lambda { choose [a, b] ...

14
голосов
1ответов
10045 просмотров

Продолжение утверждения на следующей строке С КОММЕНТАРИЕМ

Если у меня есть оператор в Ruby, который я хочу продолжить на следующей строке, обычно я бы добавил обратную косую черту в конце строки, например: print x \ + y Но если у меня есть комментарии к строке, это не сработает: print x #show x + y # show y Есть ли способ обойти это? ...

22
голосов
7ответов
2471 просмотров

Можно ли программно построить фрейм стека Python и начать выполнение в произвольной точке кода?

Можно ли программно построить стек (один или несколько кадров стека) в CPython и начать выполнение с произвольной точки кода? Представьте себе следующий сценарий: У вас есть механизм рабочего процесса, в котором рабочие процессы могут быть написаны на Python с помощью некоторых конструкций ...

3
голосов
1ответов
592 просмотров

Стиль передачи продолжения против агрессивно обрезанного стека вызовов?

Я рассматриваю что-то вроде CPS для использования в интерпретаторе языка, основанного на акторах. Аргументы функции передаются в виде массива вариантов, а продолжение возвращается в том же массиве, поэтому простая функция def add (x,y) => x + y поэтому вызов из цикла чтения / оценки...

7
голосов
5ответов
2026 просмотров

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: Продолжени...

14
голосов
4ответов
1095 просмотров

Есть ли быстрый язык, поддерживающий переносимые продолжения?

Мне нужен быстрый язык (т. е. язык, который может быть скомпилирован изначально для достижения производительности не более чем в 3 или 4 раза медленнее, чем C), который поддерживает переносимые продолжения. Под этим я подразумеваю продолжение, которое можно сериализовать на одном компьютере и де...

2
голосов
2ответов
1544 просмотров

Асинхронный режим на основе событий в C #; возможен ли общий рефакторинг?

Некоторые API, например WebClient, используют шаблон Async на основе событий а>. Хотя это выглядит просто и, вероятно, хорошо работает в слабо связанном приложении (скажем, BackgroundWorker в пользовательском интерфейсе), оно не очень хорошо сочетается друг с другом. Например, вот програм...

2
голосов
1ответов
922 просмотров

Работа с приморскими продолжениями

Как получить BlockClosure в Squeak (я хочу использовать BlockClosure>> callCC)? Когда я пишу [#foo], что это BlockContext, в чем дело? Обновление: я понял, что BlockClosure - это в основном новый компилятор. Как мне работать с Seaside Continuations? У меня проблемы, буду признател...

12
голосов
4ответов
3321 просмотров

Продолжения в Ruby

Кто-нибудь когда-нибудь работал над тем, чтобы Ruby выполнял продолжение (например, Seaside на Smalltalk)?

32
голосов
9ответов
2839 просмотров

Я просто не получаю продолжения!

Что это такое и для чего они нужны? У меня нет ученой степени, и мой опыт работы с VB6 -> ASP -> ASP.NET/C#. Может ли кто-нибудь объяснить это ясно и кратко?

21
голосов
12ответов
2815 просмотров

Ищем примеры "реального" использования продолжений

Я пытаюсь понять концепцию продолжения и нашел несколько небольших обучающих примеров, подобных этому, из Статья в Википедии : (define the-continuation #f) (define (test) (let ((i 0)) ; call/cc calls its first function argument, passing ; a continuation variable representing this...