(chat ...) dynvars: $task $chat-cont $chat-abort-re $chat-timeout (look-for* re [on-timeout]) (look-for re [on-timeout ...]) (send fmt arg ...) (send/cr fmt arg ...) logging output funs? side-effecting option setting (chat-abort ) if this regular expression is matched, the chat call is aborted. (chat-timeout ) sets the timeout for look-for calls (chat-monitor ) monitor has to be a function taking two arguments (event val), where event is a symbol, and val a possible value for this event: - looking-for(re) - found(match) - new-input(text) - sending(text) - abort(text) - eof - timeout chat can return the following values: - 'eof - 'timeout if no timeout-handler was specified in a look-for clause - in case of an abortion the submatch of the abort-regexp - #f if the whole body evaluated normally