Strange Loop

Continuations on the Web and in your OS

It is well-known that continuations represent the essence of Web interaction: a synchronous Web request from a server to a client is a server continuation and the action pending a response in an asynchronous request is a client continuation. These concepts lay underneath many Web frameworks and architectures such as the Racket Web server, Seaside, Links, Hop, node.js, etc.

What is less well-known is the ways continuations, particularly delimited continuations, are useful in structuring modularly composable elements in Web applications and OSes.

In this talk, we will give a basic introduction to delimited continuations, their traditional application on the Web, and then show more advanced techniques using examples from Web interaction, as well as high-performance event-based network servers and concurrent simulation environments.

Jay McCarthy

Jay McCarthy

Brigham Young University

I am an assistant professor at Brigham Young University in the Computer Science Department. I am a member of the PLT research group. I work on the Racket programming language. I completed a Ph.D. at Brown University in the Computer Science Department. I worked with Shriram Krishnamurthi. I was an NSF Graduate Research Fellow. I graduated from the University of Massachusetts at Lowell where I studied Computer Science, Mathematics, and Economics. My work has been supported by the National Science Foundation’s Software and Hardware Foundations (CISE/CCF) program and Computing Education for the 21st Century (CISE/CNS) program.