KEYBOARD KEYBOARD Initiate Interactive Debug Session Usage The keyboard statement is used to initiate an interactive session at a specific point in a function. The general syntax for the keyboard statement is keyboard A keyboard statement can be issued in a script, in a function, or from within another keyboard session. The result of a keyboard statement is that execution of the program is halted, and you are given a prompt of the form: [scope,n] --> where scope is the current scope of execution (either the name of the function we are executing, or base otherwise). And n is the depth of the keyboard session. If, for example, we are in a keyboard session, and we call a function that issues another keyboard session, the depth of that second session will be one higher. Put another way, n is the number of return statements you have to issue to get back to the base workspace. Incidentally, a return is how you exit the keyboard session and resume execution of the program from where it left off. A retall can be used to shortcut execution and return to the base workspace. The keyboard statement is an excellent tool for debugging FreeMat code, and along with eval provide a unique set of capabilities not usually found in compiled environments. Indeed, the keyboard statement is equivalent to a debugger breakpoint in more traditional environments, but with significantly more inspection power.