an object.
implementation-dependent.
The variables *
, **, and *** are
maintained by the Lisp read-eval-print loop to save the
values of results that are printed each time through the loop.
The value of *
is the most recent primary value that was printed,
the value of **
is the previous value of *, and
the value of ***
is the previous value of **.
If several values are produced, * contains the first value only;
* contains nil
if zero values are produced.
The values of *, **, and *** are updated immediately prior to printing the return value of a top-level form by the Lisp read-eval-print loop. If the evaluation of such a form is aborted prior to its normal return, the values of *, **, and *** are not updated.
(values 'a1 'a2) → A1, A2 'b → B (values 'c1 'c2 'c3) → C1, C2, C3 (list * ** ***) → (C1 B A1) (defun cube-root (x) (expt x 1/3)) → CUBE-ROOT (compile *) → CUBE-ROOT (setq a (cube-root 27.0)) → 3.0 (* * 9.0) → 27.0
Lisp read-eval-print loop.
- (Function) (variable), + (Function) (variable), / (Function) (variable), Section 25.1.1 (Top level loop)
* ≡ (car /) ** ≡ (car //) *** ≡ (car ///)