Function | Package: top-level | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## start-interactive-top-level

Arguments: stream 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.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version