Subject: Re: New Lisp ? From: Erik Naggum <erik@naggum.net> Date: Thu, 03 Jan 2002 16:41:08 GMT Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.functional,comp.lang.dylan Message-ID: <3219064864562397@naggum.net> * Rob Warnock | In particular, allowing some [presumably infrequent] non-error code | paths to be considered "exceptional" [and using inconspicuous flow | control primitives to access them, such as CATCH/THROW] can, in turn, | allow the "normal" code paths to be considerably simplified without | compromising program correctness. I have always thought of "exceptions" to refer to exceptions from the expected control flow. That is, if I am prepared to handle something, it obviously goes in the normal control flow, but if I have no idea what do with a particular situation that I know could arise, use an exception. E.g., in a low-level I/O function, reaching the end of file or a full disk or whatever is to be expected, but code that reads or writes known objects from or to a stream should not have to expect such things and should be able to throw up it hands and ask an exception handler to take over, perhaps recovering and continuing. /// --