Go to the first, previous, next, last section, table of contents.
Muq restarts are implemented as dynamic entities
that live on the call stack: They cannot be
directly addressed, although values representing
them are made available.
A Muq restart has the following properties:
- :name
-
A symbol by which code may invoke the restart. A
NIL name designates an anonymous restart.
- :function { [] -> }
-
The restart function proper. This is what does
any actual useful work.
- :testFunction { [event] -> boolean }
-
If not NIL, this is a function which
accepts a event and returns NIL if the
restart may not be appropriately used to resolve
this event, else non-NIL.
- :interactive-function { -> [] }
-
A function which prompts the user for all
arguments needed by the restart, and returns
them in a block. This is used when invoking
the restart interactively from the "debugger".
- :reportFunction { stream -> }
-
Prints on the given stream a description of
what the restart will do if invoked. Used
by the debugger when listing available options
for the user.
See section withRestartDo for the MUF syntax
for establishing a restart.
Go to the first, previous, next, last section, table of contents.