Major Section: STATE
When evaluation returns three values, where the first two are ordinary
(non-stobj) objects and the third is the ACL2 state, the result may
be called an ``error triple''. If an error triple is (mv erp val state)
,
we think of erp
as an error flag and val
as the returned value.
By default, if the result of evaluating a top-level form is an error triple
(mv erp val state)
, then that result is not printed if erp
is
non-nil
or if val
is the keyword :INVISIBLE
, and otherwise
val
is printed with a preceding space. For example:
ACL2 !>(+ 3 4) ; ordinary value 7 ACL2 !>(mv nil (+ 3 4) state) ; error triple, error component of nil 7 ACL2 !>(mv t (+ 3 4) state) ; error triple, non-nil error component ACL2 !>(mv nil :invisible state) ; special case for :INVISIBLE ACL2 !>
See programming-with-state for a discussion of error triples and how to
program with them. Also see ld-error-triples and see ld for a discussion
of the value :COMMAND-CONVENTIONS
for keyword
:LD-POST-EVAL-PRINT
.