5. The method of claim 1 , wherein step (a) further comprises receiving, during the first session, via one of the plurality of media gateways, the definition of an expression type, the expression type identifying an expression as a command to execute a computer program.
1. A method for hosting a programming environment and processing user input, the method comprising the step of: (a) receiving, during a first session between a user and an interaction environment, via one of a plurality of media gateways, a definition of an expression type, the definition specifying an expression format and a response type; (b) storing the definition of the expression type; (c) receiving, during a second session between a second user and the interaction environment, via one of a plurality of media gateways, from the second user, an expression having a semantic structure; (d) evaluating the semantic structure of the expression; (e) identifying an expression format of the received expression as the expression format specified by the definition of the expression type, responsive to the evaluation of the semantic structure; and (f) generating a response to the expression based on the identified expression format and responsive to an execution of a computer program associated with the response type specified by the definition of the expression type.