我一直在尝试通过阅读 Peter Seibel 的超越异常处理:Practical Common Lisp的条件和重启一章、Kent Pitman 的Lisp 语言家族中的条件处理以及其他一些参考资料来了解 Common Lisp 中重启和处理程序的正确使用。
根据我对重新启动的了解,它们是函数向其调用者提供的选项,用于在遇到某些条件时选择函数的行为。
那么,是否应该将重新启动视为函数“公共接口”的一部分,并相应地记录下来?
毕竟,调用者必须知道重新启动以及为了调用它们他们做了什么,对吧?我认为,摆脱调用者可能正在调用的重新启动将是一件坏事。