[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

error values and handling alternative results

 > There is an interesting Ph.D. dissertation that is relevant to the
 > discussion of error values.  It is by Andrew Black, out of Oxford, and
 > is titled "Exception Handling: the Case Against."  I don't have it
 > with me, but it came out sometime in the early 1980s.
 > The paper looks at, and classifies, a number of different proposed
 > exception handling mechanisms.  It makes a distinction between
 > exception handling (anticipated problems) and fault recovery
 > (unanticipated problems) (my terminology is probably off...), and goes
 > on to argue that the combination of first class procedures and "oneof"
 > (tagged union) values covers all of the interesting cases. 

A good summary.  I would add that the best proposal I have seen for
integrating "oneof"s with objects and invocation results is the work by
the ANSA project in Cambridge, England.  Basically, in ANSA each
operation on an object can result in one or more named terminations.
So "tail" (of a list) might have two terminations: an anonymous one with
an associated result object of type list, and one named "empty" with no
associated result object.  Dispatching on multiple named results turns
out to be quite analogous to dispatching on multiple named operations.


%A Architecture Projects Management Ltd
%T ANSA: An Application Programmer's Introduction to the Architecture
%R TR.017
%I APM Ltd
%D NOV 1991

    Andrew Black
P.S.  I don't subscribe to this list, so if you want to respond to me,
please do so directly.