Write a Blog >>
PLDI 2020
Mon 15 - Fri 19 June 2020
Wed 17 Jun 2020 13:00 - 13:20 at PLDI Research Papers live stream - Language Implementation Chair(s): Chris Seaton

Continuation marks enable dynamic binding and
context inspection in a language with proper handling of tail calls
and first-class, multi-prompt, delimited continuations. The simplest
and most direct use of continuation marks is to implement dynamically
scoped variables, such as the current output stream or the current
exception handler. Other uses include stack inspection for
debugging or security checks, serialization of an in-progress
computation, and run-time elision of redundant checks. By exposing
continuation marks to users of a programming language, more kinds of
language extensions can be implemented as libraries without further
changes to the compiler. At the same time, the compiler and runtime
system must provide an efficient implementation of continuation marks
to ensure that library-implemented language extensions are as
effective as changing the compiler. Our implementation of
continuation marks for Chez Scheme (in support of Racket) makes
dynamic binding and lookup constant-time and fast, preserves the
performance of Chez Scheme's first-class continuations, and imposes
negligible overhead on program fragments that do not use first-class
continuations or marks.

Conference Day
Wed 17 Jun

Displayed time zone: Pacific Time (US & Canada) change

13:00 - 14:00
Compiler and Runtime Support for Continuation Marks
PLDI Research Papers
Matthew FlattUniversity of Utah, USA, R. Kent DybvigCisco Systems, USA
Crafty: Efficient, HTM-Compatible Persistent Transactions
PLDI Research Papers
Kaan GençOhio State University, USA, Michael D. BondOhio State University, USA, Guoqing Harry XuUniversity of California at Los Angeles, USA
From Folklore to Fact: Comparing Implementations of Stacks and Continuations
PLDI Research Papers
Kavon FarvardinUniversity of Chicago, USA, John ReppyUniversity of Chicago, USA