Arguments: *terminal-io* function args &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 *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 documentation is described in introduction.htm and the index is in index.htm.
Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.
Created 2000.10.5.