I tried to understand the proper use of reloads and handlers in Common Lisp by reading Peter Seibel Except for exception handling: conditions and restarting Practical General Lisp chapter, Kent Pitman Conditional treatment in the Lisp language family , as well as some other references .
From what I understand about restarting, they are options provided by the function to its callers to choose the behavior of the function when a condition occurs.
If so, is restarting considered as part of the "open interface" function and documented accordingly?
After all, callers need to know about the restart and what they do to call them, right? And it would be nice to get rid of the restart that the caller could cause, I suppose.
common-lisp
Tianxiang xiong
source share