A syntactic theory of sequential state
Theoretical Computer Science
Representing control in the presence of first-class continuations
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
The revised report on the syntactic theories of sequential control and state
Theoretical Computer Science
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
A generalization of exceptions and control in ML-like languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Revised5 report on the algorithmic language scheme
ACM SIGPLAN Notices
Science of Computer Programming - Special issue on mathematics of program construction
The influence of browsers on evaluators or, continuations to program web servers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
SAFKASI: a security mechanism for language-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Java Virtual Machine Specification
Java Virtual Machine Specification
Composable and compilable macros:: you want it when?
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Portable implementation of continuation operators in imperative languages by exception handling
Advances in exception handling techniques
WASH/CGI: Server-Side Web Scripting with Sessions and Typed, Compositional Forms
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
The CONTINUE Server (or, How I Administered PADL 2002 and 2003)
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Extensible Denotational Language Specifications
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
Automatically Restructuring Programs for the Web
Proceedings of the 16th IEEE international conference on Automated software engineering
A portable mechanism for thread persistence and migration (mobile agent)
A portable mechanism for thread persistence and migration (mobile agent)
DrScheme: a programming environment for Scheme
Journal of Functional Programming
Automatically Restructuring Programs for the Web
Automated Software Engineering
ESOP'03 Proceedings of the 12th European conference on Programming
Tasks: language support for event-driven programming
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Efficient compilation of Lua for the CLR
Proceedings of the 2008 ACM symposium on Applied computing
Kilim: Isolation-Typed Actors for Java
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Automatically RESTful web applications: marking modular serializable continuations
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
ReCaml: execution state as the cornerstone of reconfigurations
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
The two-state solution: native and serializable continuations accord
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Managing continuations for proper tail recursion
Proceedings of the 2010 international conference on Lisp
Continuations and behavior components engineering in multi-agent systems
MATES'06 Proceedings of the 4th German conference on Multiagent System Technologies
Defunctionalized interpreters for call-by-need evaluation
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Delimited control in OCaml, abstractly and concretely: system description
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Theoretical Computer Science
Delimited control in OCaml, abstractly and concretely
Theoretical Computer Science
Constraining delimited control with contracts
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Hi-index | 0.00 |
Implementing first-class continuations can pose a challenge if the target machine makes no provisions for accessing and re-installing the run-time stack. In this paper, we present a novel translation that overcomes this problem. In the first half of the paper, we introduce a theoretical model that shows how to eliminate the capture and the use of first-class continuations in the presence of a generalized stack inspection mechanism. The second half of the paper explains how to translate this model into practice in two different contexts. First, we reformulate the servlet interaction language in the PLT Web server, which heavily relies on first-class continuations. Using our technique, servlet programs can be run directly under the control of non-cooperative web servers such as Apache. Second, we show how to use our new technique to copy and reconstitute the stack on MSIL.Net using exception handlers. This establishes that Scheme's first-class continuations can exist on non-cooperative virtual machines.