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.
pgpv5cIn2XX1K.pgp
Description: PGP signature
_______________________________________________ darcs-devel mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-devel
