*eval*

$Revision: 5.0.2.4 $

Variable

Package: TOP-LEVEL

The values of tpl:*read*, this variable, and tpl:*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 this variable is not a funcallable object, the default function, lisp:eval 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. The value of tpl:*read* will be passed the stream which is to be read. The value of this variable will be passed a form to evaluate. The value of tpl:*print* will be passed a value to print. 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 tpl:*read*, tpl:*eval*,   and tpl:*print*. The values must be valid functions in that case. See 10.0 Minimal top levels in building_images.htm.

See top_level.htm for more information on top-level commands.

The general documentation description is in introduction.htm. The index is in index.htm.

Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.