FunctionPackage: top-levelToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.1
Unrevised from 10.0 to 10.1.
10.0 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-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.1
Unrevised from 10.0 to 10.1.
10.0 version