Запитання з тегом «continuation»

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

3
Які альтернативи використанню стека для представлення семантики виклику функції?
Всі ми знаємо і любимо, що виклики функцій зазвичай реалізуються за допомогою стека; є кадри, зворотні адреси, параметри, вся партія. Однак стек - це деталь реалізації: виклики конвенцій можуть робити різні речі (наприклад, регістри швидкого виклику x86 (деякі) регістри, MIPS та послідовники використовують вікна реєстру тощо), а оптимізація може робити …

2
Що таке приклад продовження, яке не реалізується як процедура?
Цікава дискусія про відмінність між зворотними дзвінками та продовженням роботи в режимі SO викликала це питання. За визначенням, продовження - це абстрактне подання логіки, необхідної для завершення обчислення. У більшості мов це проявляється як одна процедура аргументу, якій ви передаєте будь-яке значення, необхідне для подальшої обробки. Чисто функціональною мовою (де …

4
Як ви зберігаєте код з читанням продовжень / зворотних викликів?
Короткий зміст: Чи існують чітко встановлені моделі найкращої практики, які я можу дотримуватися, щоб не читати код, незважаючи на використання асинхронного коду та зворотних викликів? Я використовую бібліотеку JavaScript, яка робить багато матеріалів асинхронно і сильно покладається на зворотні дзвінки. Здається, що написання простого методу "навантаження А, завантаження В, ..." …

1
Чи корисні продовження першого класу в сучасних об'єктно-орієнтованих мовах програмування?
Продовження є надзвичайно корисними у функціональних мовах програмування (наприклад, Contмонада в Haskell), оскільки вони дозволяють просте і регулярне позначення коду імперативного стилю. Вони також корисні для деяких старих імперативних мов, оскільки їх можна використовувати для реалізації функцій, які відсутні у мові (наприклад, винятки, супроводи, зелені нитки). Але для сучасного об'єктно-орієнтованої …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.