| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |
The values of *read*
, *eval*
, and *print* (this
variable), if valid functions (that is, ones acceptable to the
function funcall), will be
funcalled to read user input, evaluate the result from the read, and
print the result of the evaluation. If the value of this variable is
not a funcallable object, the default function, prin1 will be used in place of the
non-funcallable object. The default value for all three variables is
nil
.
To be a value of one of these variables, a function must accept one
argument (for *eval*
and *read*
) or two arguments (for
*print* (this
variable)). The value of *read*
will be passed the stream which is
to be read. The value of *eval*
will be passed a form to
evaluate. The value of *print* (this
variable) will be passed a value to print
and a stream. Great care should be taken before setting any of these
variables, since binding these to something other than a proper
function will result in a recursive error (since after an error,
another read-eval-print loop is called). If you change the value of
one of these variables, you may return to the default behavior by
changing the value back to nil
.
If you build an image with the
include-tpl keyword argument to
build-lisp-image
nil
, the image will have a
minimal top level which will use *read*
, *eval*
, and *print* (this
variable). The values must be valid functions in that case. See
Minimal
top levels in building-images.htm for
information on minimal top levels.
In the IDE, listeners bind this variable internally due to the IDE's particular multithreaded and windowized implementation. So binding or setting this variable will have no effect on IDE listeners, but will still affect the console listener and the emacs listener (if any) while the IDE is running.
See top-level.htm for more information on the top level and top-level commands.
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.
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |