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.

///
--