A term describing a program whose input and output are interleaved, like a conversation, allowing the user' s input to depend on earlier output from the same run. The interaction with the user is usually conducted through either a text-based interface or a graphical user interface. Other kinds of interface, e.g. using speech recognition and/or speech synthesis, are also possible. This is in contrast to batch processing where all the input is prepared before the program runs and so cannot depend on the program' s output. (1996-06-21)