重启是功能的"公共接口"的一部分吗?在Common Lisp?

Tia*_*ong 8 common-lisp condition-system

我一直试图通过阅读Peter Seibel的Beyond Exception Handling:条件和重启章节的实用Common Lisp,Kent Pitman 在Lisp语言家族中条件处理以及其他一些参考资料来理解在Common Lisp中正确使用重启和处理程序.

根据我对重启的理解,它们是函数提供给调用者的选项,以便在遇到某些条件时选择函数的行为.

如果是这样的话,重新启动被视为功能的"公共接口"的一部分,并相应地记录下来?

毕竟,调用者必须知道重启以及他们做什么才能调用它们,对吗?我认为,摆脱调用者可能正在调用的重启将是一件坏事.

Sva*_*nte 1

重新启动由符号命名。如果这样的符号是从包中导出的,我会将其视为公共 API 的一部分,否则不会。我希望所有导出的符号都记录在适当的位置(文档字符串)。