Room: Collegeruimte Ruppert C
Speaker: Oleg Kiselyov
Clicking on Delimited Continuations
We give a light introduction to delimited continuations and unmask them in operating system context switching and input/output. Web --the interaction between a browser and a web server-- let loose delimited continuations and made them clickable. That is why web programming without first-class delimited continuations is so unnatural. Conversely, the ability to capture and store delimited continuations makes coding web applications (CGI scripts) as
straightforward as writing interactive console applications using read and printf, or writing a dialogue in a play. We no longer have to guess the question from an answer. We do not even need to repeat a question, letting the user repeat an answer instead (using the `Back button').
We demonstrate the natural web programming style by writing and running live two multi-form web applications, one of which is a simple blog. We use a library of persistent delimited continuations for bytecode OCaml programs. The library also supports nested transactions. In a live demo we show that a user may repeatedly go back-and-forth between editing and previewing their blog post, perhaps in several windows. The finished post can be submitted only once.