Concurrent programming using actors
Object-oriented concurrent programming
Abstract continuations: a mathematical semantics for handling full jumps
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Continuation-passing, closure-passing style
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Compiling with continuations
The design of parallel programming languages
Artificial intelligence and mathematical theory of computation
On the expressive power of programming languages
ESOP '90 Selected papers from the symposium on 3rd European symposium on programming
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the ACM 2000 conference on Java Grande
Final shift for call/cc:: direct implementation of shift and reset
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
From control effects to typed continuation passing
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Implementation Strategies for First-Class Continuations
Higher-Order and Symbolic Computation
Continuations: A Mathematical Semantics for Handling FullJumps
Higher-Order and Symbolic Computation
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
Journal of Functional Programming
Continuations from generalized stack inspection
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
On the static and dynamic extents of delimited continuations
Science of Computer Programming
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A monadic framework for delimited continuations
Journal of Functional Programming
On one-pass CPS transformations
Journal of Functional Programming
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Scala Actors: Unifying thread-based and event-based programming
Theoretical Computer Science
Polymorphic delimited continuations
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Typed dynamic control operators for delimited continuations
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Event-Based programming without inversion of control
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Embedding dynamic dataflow in a call-by-value language
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Parameterised notions of computation
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Functional derivation of a virtual machine for delimited continuations
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
ReCaml: execution state as the cornerstone of reconfigurations
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
The F# asynchronous programming model
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Pushdown flow analysis of first-class control
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Subtyping delimited continuations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Reuse of continuation-based control-flow abstractions
Proceedings of the 2nd workshop on Free composition @ onward! 2011
Delimited control in OCaml, abstractly and concretely: system description
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Delimited control in OCaml, abstractly and concretely
Theoretical Computer Science
A meta-scheduler for the par-monad: composable scheduling for the heterogeneous cloud
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Constructing customized interpreters from reusable evaluators using GAME
SC'12 Proceedings of the 11th international conference on Software Composition
Towards a family of model transformation languages
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Pause 'n' play: formalizing asynchronous C#
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Molecule: using monadic and streaming I/O to compose process networks on the JVM
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
QEMU/CPC: static analysis and CPS conversion for safe, portable, and efficient coroutines
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
We describe the implementation of first-class polymorphic delimited continuations in the programming language Scala. We use Scala's pluggable typing architecture to implement a simple type and effect system, which discriminates expressions with control effects from those without and accurately tracks answer type modification incurred by control effects. To tackle the problem of implementing first-class continuations under the adverse conditions brought upon by the Java VM, we employ a selective CPS transform, which is driven entirely by effect-annotated types and leaves pure code in direct style. Benchmarks indicate that this high-level approach performs competitively.