Ich habe versucht, die ordnungsgemäße Verwendung von Neustarts und Handlern in Common Lisp zu verstehen, indem ich Peter Seibels Ausnahmebehandlung: Bedingungen und Neustart Kapitel von Practical Common Lisp , Kent Pitmans Bedingte Behandlung in der Familie der Lisp-Sprache , sowie einige weitere Referenzen .
Was ich über Neustarts verstehe, sind Optionen , die den Aufrufern von einer Funktion zur Verfügung gestellt werden, um das Verhalten der Funktion auszuwählen, wenn eine Bedingung auftritt.
Sollte das der Fall sein, werden diese Neustarts als Teil der "öffentlichen Schnittstelle" einer Funktion behandelt und entsprechend dokumentiert?
Schließlich müssen Anrufer über die Neustarts Bescheid wissen und was sie tun, um sie aufzurufen, richtig? Und es wäre eine schlechte Sache, einen Neustart, den ein Anrufer aufrufen könnte, loszuwerden, nehme ich an.
Neustarts werden mit Symbolen benannt. Wenn ein solches Symbol aus einem Paket exportiert wird, würde ich es als Teil der öffentlichen API sehen, andernfalls nicht. Ich würde erwarten, dass alle exportierten Symbole an den entsprechenden Stellen (Docstrings) dokumentiert werden.
Tags und Links common-lisp condition-system