Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
In computer science, a continuation is an abstract representation of the control state of a computer program. A continuation implements (reifies) the program control state, i.e. the continuation is a data structure that represents the computational process at a given point in the process's execution; the created data structure can be accessed by the programming language, instead of being hidden in the runtime environment. Continuations are useful for encoding other control mechanisms in programming languages such as exceptions, generators, coroutines, and so on. The "current continuation" or "continuation of the computation step" is the continuation that, from the perspective of running code, would be derived from the current point in a program's execution. The term continuations can also be used to refer to first-class continuations, which are constructs that give a programming language the ability to save the execution state at any point and return to that point at a later point in the program, possibly multiple times. The earliest description of continuations was made by Adriaan van Wijngaarden in September 1964. Wijngaarden spoke at the IFIP Working Conference on Formal Language Description Languages held in Baden bei Wien, Austria. As part of a formulation for an Algol 60 preprocessor, he called for a transformation of proper procedures into continuation-passing style, though he did not use this name, and his intention was to simplify a program and thus make its result more clear. Christopher Strachey, Christopher P. Wadsworth and John C. Reynolds brought the term continuation into prominence in their work in the field of denotational semantics that makes extensive use of continuations to allow sequential programs to be analysed in terms of functional programming semantics. Steve Russell invented the continuation in his second Lisp implementation for the IBM 704, though he did not name it. gives a complete history of the discovery of continuations. First-class continuations are a language's ability to completely control the execution order of instructions.
Anastasia Ailamaki, Georgios Psaropoulos
Daniel Kressner, Axel Elie Joseph Séguin
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, Andrea Merli, Aravindhan Venkateswaran, Luis Miguel Garcia Martin, Vitalii Lisovskyi, Sebastian Schulte, Veronica Sølund Kirsebom, Elisabeth Maria Niel, Alexandre Brea Rodriguez, 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, Chen Chen, Zhipeng Tang, Xuan Li, Alexey Boldyrev, Almagul Kondybayeva, Hossein Afsharnia