| Allegro CL version 10.0 Unrevised from 9.0 to 10.0. 9.0 version |
The values of *read* (this variable), *eval*
, and *print*
, 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 *read* (this variable) is not a
funcallable object, the default function, read 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* (this variable))
or two arguments (for *print*
). The value of *read*
(this variable) 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*
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* (this variable),
*eval*
, and
*print*
. 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.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 9.0 page.
Created 2015.5.21.
| Allegro CL version 10.0 Unrevised from 9.0 to 10.0. 9.0 version |