Вопросы с тегом «continuation»

2
Y комбинатор и оптимизация хвостовых вызовов
Определение Y комбинатора в F # let rec y f x = f (y f) x В качестве первого аргумента f ожидает продолжения рекурсивных подзадач. Используя yf в качестве продолжения, мы видим, что f будет применяться к последовательным вызовам, поскольку мы можем развить let y f x = f (y …

3
Какие есть альтернативы использованию стека для представления семантики вызова функции?
Мы все знаем и любим, что вызовы функций обычно реализуются с использованием стека; Есть кадры, обратные адреса, параметры, все много. Однако стек является деталью реализации: соглашения о вызовах могут делать разные вещи (например, x86 fastcall использует (некоторые) регистры, MIPS и последователи используют окна регистров и т. Д.), А оптимизация может …

2
Что является примером продолжения, не реализованного как процедура?
Интересная дискуссия о различии между обратными вызовами и продолжениями SO подтолкнула этот вопрос. По определению, продолжение является абстрактным представлением логики, необходимой для завершения вычисления. В большинстве языков это проявляется как процедура с одним аргументом, которой вы передаете любое значение, требующее дальнейшей обработки. На чисто функциональном языке (где все функции являются …

1
Полезны ли первоклассные продолжения в современных объектно-ориентированных языках программирования?
Продолжения чрезвычайно полезны в функциональных языках программирования (например, в Contмонаде в Haskell), поскольку они допускают простую и регулярную запись кода императивного стиля. Они также полезны в некоторых старых императивных языках, потому что их можно использовать для реализации отсутствующих языковых функций (например, исключений, сопрограмм, зеленых потоков). Но для современного объектно-ориентированного языка …

4
Как вы читаете код с продолжениями / обратными вызовами?
Описание: Существуют ли какие-то хорошо зарекомендовавшие себя шаблоны наилучшей практики, которым я могу следовать, чтобы сохранить мой код читабельным, несмотря на использование асинхронного кода и обратных вызовов? Я использую библиотеку JavaScript, которая делает много вещей асинхронно и сильно зависит от обратных вызовов. Кажется, что написание простого метода «load A, load …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.