Compiler and Runtime Support for Continuation Marks

Matthew Flatt

Date: Mon, November 18, 2019
Time: 12:15
Room: Social Data Lab 0.E220

Continuation marks enable dynamic binding and context inspection in a language with proper handling of tail calls and first-class 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. 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. Our new implementation of continuation marks for Chez Scheme (in support of Racket) makes dynamic binding and lookup constant-time and fast and preserves the performance of Chez Scheme’s first-class continuations.

Part of the Symposium on Build Systems

Previous: Jeff Smits |
Next: Sebastian Erdweg |