Three months later...

On Wed, Dec 20, 2006 at 15:37:29 +0100, Juliusz Chroboczek wrote:
> Eric, the paper that explained exceptions to me was
> 
>   Exceptional Situations In Lisp.  Kent Pitman.  1990
>   http://www.nhplace.com/kent/Papers/Exceptional-Situations-1990.html
> 
> A more recent and slightly more condensed rewrite is
> 
>   Condition Handling in the Lisp Language Family.  Kent Pitman.  2001
>   http://www.nhplace.com/kent/Papers/Condition-Handling-2001.html

Thanks for this.  And in case it helps anybody else, a sort-of review.

I had foolishly attempted to "save time" by starting with the second
article, but ended up getting lost and discouraged.  Do not do this.
The second article might be more interesting to people with some LISP
background, but me with me first year undegrad Scheme, was not yet in
a position to make use of it.

The first article, on the other hand, was much more accesible.  It
helped me to understand better why we want exceptions, that is, why we
want to distinguish between 'normal' and 'exceptional' situations.  The
arguments I found most convincing were those of presentation and
modularity, that is to think of an using the exception mechanism as an
alternative to littering your code with 'code attempting to recognize
and deal with exceptional situations'.  In other words, exceptions help
us write readable code.

In addition to helping me examine the 'why' of exceptions, these
articles were useful simply for giving me a terminology to use, words
with which to shape my thinking.  For example, having a general term
'condition' to span the non-fatal (end of page, entry/exit of the
major/minor modes in an editor) to the fatal (intervention needed)
was useful.  I had never thought to incorporate the non-fatal
situations into my world view before or consider that they could be
usefully handled by the same sort of mechanism.

Vocabulary and motivation, that's what I got from the first article.  As
for the second article, I don't think I was ready for it yet.  Perhaps
the romp through the history of condition handling will become more
pertinent as I mature as a programmer.  For the moment, the most useful
thing I got from it was the insight in this passage:

  "To properly understand condition handling, it is critical to
  understand that it is primarily about *protocol*, rather than
  computational ability... it creates an obvious way for two people who
  are not directly communicating to structure indepedently developed
  code so that it works in a manner that remains coherent when such code
  is later combined"

-- 
Eric Kow                     http://www.loria.fr/~kow
PGP Key ID: 08AC04F9         Merci de corriger mon français.

Attachment: pgpv5cIn2XX1K.pgp
Description: PGP signature

_______________________________________________
darcs-devel mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-devel

Reply via email to