Major Section: PROGRAMMING
Example: (er-progn (check-good-foo-p (f-get-global 'my-foo state) state) (value (* (f-get-global 'my-foo state) (f-get-global 'bar state))))
This sequencing primitive is only useful when programming with state, something that very few users will probably want to do. See state.
Er-progn
is used much the way that progn
is used in Common
Lisp, except that it expects each form within it to evaluate to an
``error triple'' of the form (mv erp val state)
. The first such
form, if any, that evaluates to such a triple where erp
is not
nil
yields the error triple returned by the er-progn
. If
there is no such form, then the last form returns the value of the
er-progn
form.
We intend to write more about this topic, especially if there are
requests to do so.