start-interactive-top-level

$Revision: 5.0.2.4 $

Function

Package: TOP-LEVEL

Arguments: (stream function arguments &key initial-bindings)

It is the purpose of some processes to communicate with a user over a separate dedicated *terminal-io* stream. (This user is not necessarily a human -- it might be a socket connection to another program, possibly on a different host.) This function is intended as a convenient way to start a process which maintains its own bindings for the standard Common Lisp dynamic variables. *terminal-io* is first bound to stream. Then the process-initial-bindings slot of the process is examined, and if it is nil, the bindings in the initial-bindings keyword to this function are established. (If process-initial-bindings is not nil, the value of the initial-bindings argument is ignored.) The default value for the initial-bindings argument is excl:*cl-default-special-bindings*. Then function is applied to the arguments. Note that the arguments argument is a single list, not an &rest argument.

The name of this function implies a dichotomy between functions created to do predetermined computation which might not need to bind these Lisp-package variables, and those which interact with a user or other external process. Such a dichotomy is reasonable, but of course, only approximates the diversity of real applications.

See top_level.htm for more information on the top level.

The general documentation description is in introduction.htm. The index in index.htm.

Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.