First-class continuations are a powerful tool for implementing
sophisticated control constructs like coroutines, processes,
backtracking, and asynchronous signals.  Until now they have been
studied and employed in the context of dynamically typed languages
like Scheme.  We have been pleasantly surprised to discover that
first-class continuations can also be accommodated in a polymorphically
typed language like ML simply by adding a new primitive type with a
couple of associated operations.  In fact, the added discipline of the
ML type system seems to simplify programming with first-class
continuations.  We have made the first steps toward integrating
first-class continuations into the semantics of Standard ML and
verifying the metaproperties of soundness and observational soundness, but it
is clear that extensive work is required to integrate continuations
fully into the definition of Standard ML.

