Concept

Delimited continuation

In programming languages, a delimited continuation, composable continuation or partial continuation, is a "slice" of a continuation frame that has been reified into a function. Unlike regular continuations, delimited continuations return a value, and thus may be reused and composed. Control delimiters, the basis of delimited continuations, were introduced by Matthias Felleisen in 1988 though early allusions to composable and delimited continuations can be found in Carolyn Talcott's Stanford 1984 dissertation, Felleisen et al., Felleisen's 1987 dissertation, and algorithms for functional backtracking, e.g., for pattern matching, for parsing, in the Algebraic Logic Functional programming language, and in the functional implementations of Prolog where the failure continuation is often kept implicit and the reason of being for the success continuation is that it is composable. Delimited continuations were first introduced by Felleisen in 1988 with an operator called , first introduced in a tech report in 1987, along with a prompt construct . The operator was designed to be a generalization of control operators that had been described in the literature such as call/cc from Scheme, ISWIM's J operator, John C. Reynolds' escape operator, and others. Subsequently, many competing delimited control operators were invented by the programming languages research community such as prompt and control, shift and reset,cupto, fcontrol, and others. Various operators for delimited continuations have been proposed in the research literature. One independent proposal is based on continuation-passing style (CPS) -- i.e., not on continuation frames—and offers two control operators, shift and reset, that give rise to static rather than to dynamic delimited continuations. The reset operator sets the limit for the continuation while the shift operator captures or reifies the current continuation up to the innermost enclosing reset. For example, consider the following snippet in Scheme: (* 2 (reset (+ 1 (shift k (k 5))))) The reset delimits the continuation that shift captures (named by k in this example).

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (13)
CS-308: Introduction to quantum computation
The course introduces the paradigm of quantum computation in an axiomatic way. We introduce the notion of quantum bit, gates, circuits and we treat the most important quantum algorithms. We also touch
HUM-461: Managing organizations II
Ce cours traite de la gestion des organisations, allant de l'entrepreneuriat à l'encadrement dans les entreprises. C'est la suite du cours I. En particulier, les participants apprendront à diriger, me
CS-420: Advanced compiler construction
Students learn several implementation techniques for modern functional and object-oriented programming languages. They put some of them into practice by developing key parts of a compiler and run time
Afficher plus
Séances de cours associées (46)
Algorithme caché du sous-groupe
Continue la discussion sur le problème caché du sous-groupe de Simon, en se concentrant sur la recherche d'une base.
Algorithme du shor : constatation de la période
Couvre l'algorithme shor pour la détermination de la période et son application dans la factorisation, en discutant de la mise en oeuvre du circuit et des résultats de mesure.
Formes différentielles sur les collecteurs
Introduit des formes différentielles sur les collecteurs, couvrant les faisceaux tangents et les appariements d'intersection.
Afficher plus
Publications associées (10)

Measurement of Xi(++)(cc) production in pp collisions at root s=13 TeV

Jian Wang, Lesya Shchutska, Olivier Schneider, Yiming Li, Yi Zhang, Aurelio Bay, Guido Haefeli, Christoph Frei, Frédéric Blanc, Tatsuya Nakada, Michel De Cian, Luca Pescatore, François Fleuret, Elena Graverini, Renato Quagliani, Maria Vieites Diaz, Federico Betti, Aravindhan Venkateswaran, Luis Miguel Garcia Martin, Vitalii Lisovskyi, Sebastian Schulte, Veronica Sølund Kirsebom, Elisabeth Maria Niel, Mingkui Wang, Zhirui Xu, Lei Zhang, Ho Ling Li, Mark Tobin, Minh Tâm Tran, Niko Neufeld, Matthew Needham, Marc-Olivier Bettler, Maurizio Martinelli, Vladislav Balagura, Donal Patrick Hill, Liang Sun, Pietro Marino, Mirco Dorigo, Xiaoxue Han, Liupan An, Federico Leo Redi, Plamen Hristov Hopchev, Thibaud Humair, Maxime Schubiger, Hang Yin, Guido Andreassi, Violaine Bellée, Olivier Göran Girard, Preema Rennee Pais, Pavol Stefko, Tara Nanut, Maria Elena Stramaglia, Yao Zhou, Tommaso Colombo, Vladimir Macko, Guillaume Max Pietrzyk, Evgenii Shmanin, Simone Meloni, Xiaoqing Zhou, Surapat Ek-In, Carina Trippl, Sara Celani, Serhii Cholak, Dipanwita Dutta, Zheng Wang, Yi Wang, Hans Dijkstra, Gerhard Raven, Peter Clarke, Frédéric Teubert, Giovanni Carboni, Victor Coco, Adam Davis, Paolo Durante, Wenyu Zhang, Yu Zheng, Anton Petrov, Maxim Borisyak, Feng Jiang, Zhipeng Tang, Xuan Li, Alexey Boldyrev, Almagul Kondybayeva, Hossein Afsharnia

The production of Xi(++)(cc) baryons in proton-proton collisions at a centre-of-mass energy of root s = 13 Tev is measured in the transverse-momentum range 4 < p(T) < 15 GeV/c and the rapidity range 2.0 < y < 4.5. The data used in this measurement correspo ...
IOP PUBLISHING LTD2020

Accurate Profile Measurement of the low Intensity Secondary Beams in the CERN Experimental Areas

Inaki Ortega Ruiz

The CERN accelerators deliver a wide spectrum of secondary beams to the Experimental Areas. These beams are composed of hadrons, leptons, and heavy ions that can vary greatly in momentum (1 GeV/c to 400 GeV/c) and intensity (10^2 to 10^8 particles per seco ...
EPFL2018

Indicators of Evidence for Bioequivalence

Stephan Morgenthaler, Robert Staudte

Some equivalence tests are based on two one-sided tests, where in many applications the test statistics are approximately normal. We define and find evidence for equivalence in Z-tests and then one-and two-sample binomial tests as well as for t-tests. Mult ...
Mdpi Ag2016
Afficher plus
Personnes associées (1)
Concepts associés (4)
Call-with-current-continuation
In the Scheme computer programming language, the procedure call-with-current-continuation, abbreviated call/cc, is used as a control flow operator. It has been adopted by several other programming languages. Taking a function f as its only argument, (call/cc f) within an expression is applied to the current continuation of the expression. For example ((call/cc f) e2) is equivalent to applying f to the current continuation of the expression.
Continuation (informatique)
En informatique, la continuation d'un système est son futur, c'est-à-dire la suite des instructions qu'il lui reste à exécuter à un moment précis. C'est un point de vue pour décrire l'état de la machine. Dans certains langages de programmation, les continuations peuvent être manipulées explicitement en tant qu'objets du langage à part entière : on peut stocker la continuation courante dans une variable que l'on peut donc manipuler en tant que telle ; puis plus loin, on peut restaurer la continuation, ce qui a pour effet de dérouter l'exécution du programme actuel vers le futur que l'on avait enregistré.
Monade (informatique)
En théorie des langages fonctionnels typés, une monade est un patron de conception qui combine des éléments de langages fonctionnels avec des méthodologies propres aux langages impératifs. En pratique, les valeurs retournées par des portions de programme (qui peuvent être vus comme des fonctions) sont englobées en un type pour être enchaînées ultérieurement en d'autres calculs. Il s'agit alors d'avoir une représentation simulant exactement des notions telles que les exceptions ou les effets de bords, tout en conservant la logique propre à la programmation fonctionnelle.
Afficher plus
MOOCs associés (2)
Fonctions Trigonométriques, Logarithmiques et Exponentielles
Ce cours donne les connaissances fondamentales liées aux fonctions trigonométriques, logarithmiques et exponentielles. La présentation des concepts et des propositions est soutenue par une grande gamm
Fonctions Trigonométriques, Logarithmiques et Exponentielles
Ce cours donne les connaissances fondamentales liées aux fonctions trigonométriques, logarithmiques et exponentielles. La présentation des concepts et des propositions est soutenue par une grande gamm

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.