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.

Wed 17 Jun
Times are displayed in time zone: (GMT-07:00) Pacific Time (US & Canada) change

13:00 - 14:00: PLDI Research Papers - Language Implementation at PLDI Research Papers live stream
Chair(s): Chris SeatonShopify

YouTube lightning session video

pldi-2020-papers13:00 - 13:20
Matthew FlattUniversity of Utah, USA, R. Kent DybvigCisco Systems, USA
pldi-2020-papers13:20 - 13:40
Kaan GençOhio State University, USA, Michael D. BondOhio State University, USA, Guoqing Harry XuUniversity of California at Los Angeles, USA
pldi-2020-papers13:40 - 14:00
Kavon FarvardinUniversity of Chicago, USA, John ReppyUniversity of Chicago, USA