3 ms·
> 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 an
by 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]