A method and apparatus are described for a programming language with fully
undoable, timed reactive instructions. More specifically, the present
invention relates to providing a multi-modal user interface for
controlling the execution of fully undoable programs. An embodiment of
the present invention includes a method for providing a multi-modal user
interface that is enabled to control the order of execution of a program
having fully undoable instructions using checkpoints associated with
discrete locations within the program.