4 ms·
I think that the condition system is one of the better parts of Lisp, and miss it in every language where the libraries I use unwind the stack to provide me an
by rauhl 7y ago
I think that the condition system is one of the better parts of Lisp, and miss it in every language where the libraries I use unwind the stack to provide me an error.
It’s true that it’s not used too much in small programs, because small programs don’t need it. But in large systems, it’s invaluable.
- rurban 7y agoConditions are invaluable, but not Ken's. It faces the same problems as my stderror AutoLISP library: overarchitectured. Slim and small, not so big and fragile. CLOS is small and easy compared to the conditions. scheme did it right
- lispm 7y ago> CLOS is small and easy compared to the conditions CLOS is much more complex than conditions. > scheme did it right Not at all. Scheme was not providing any error handling in the language up to R5RS and had then zillions of different implementation specific extensions, many of them influenced by Common Lisp's condition system. Compare: https://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Error-System.html#Error-System https://www.gnu.org/software/mit-scheme/documentation/mit-sc... https://docs.racket-lang.org/reference/exns.html https://docs.racket-lang.org/reference/exns.html https://wiki.call-cc.org/man/4/Exceptions https://wiki.call-cc.org/man/4/Exceptions https://www.scheme.com/tspl4/exceptions.html https://www.scheme.com/tspl4/exceptions.html For R7RS large they are still finding out what to do. https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/ExceptionsErrorsAndConditions.md https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/Excep...
- kazinator 7y agoIndeed, right through R5RS, Scheme specified that certain situations in the processing of a Scheme program constitute an "error", without explaining what that word means, or any mechanism to catch such a thing, recover from it, or generate it on purpose (without provoking an erroneous condition). A conforming R5RS Scheme implementation can crash or abort upon encountering an error.
- deleted 7y ago[deleted]