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 ¡V 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.