1. A method for conversational computing comprising: executing code embodying a conversational virtual machine; registering a plurality of input/output resources with a conversational kernel; providing an interface between a plurality of active applications and the conversational kernel processing input/output data; receiving input queries and input events of a multi-modal dialog across a plurality of user interface modalities of the plurality of active applications; generating output messages and output events of the multi-modal dialog in connection with the plurality of active applications; managing, by the conversational kernel, a context stack associated with the plurality of active applications and the multi-modal dialog to transform the input queries into application calls for the plurality of active applications and convert the output messages into speech, wherein the context stack accumulates a context of each of the plurality of active applications.