From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,FROM_ADDR_WS, INVALID_MSGID,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: skaller@maxtal.com.au (John (Max) Skaller) Subject: Re: Exceptions as objects (was Re: What is wrong with OO ?) Date: 1997/01/29 Message-ID: <32ee311a.1132691464@news.zip.com.au>#1/1 X-Deja-AN: 213039424 references: <5acjtn$5uj@news3.digex.net> <32e9e445.163056932@library.airnews.net> organization: Maxtal P/L reply-to: skaller@maxtal.com.au newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1997-01-29T00:00:00+00:00 List-Id: On Sat, 25 Jan 1997 20:52:41 GMT, bobduff@world.std.com (Robert A Duff) wrote: >I'm not sure why Mr. Grandi thinks his scheme is so >vastly superior, though. The reasons are plain enough: First, the scheme permits retry, C++ style exceptions do not. Second, the scheme does not require any special constructions. No exception handling constructions. It is implemented using dynamically scoped functions, which are useful for other things. Summary: the scheme subsumes the C++ scheme because it can do everything the C++ scheme can do, with no more complexity, using other facilities -- which are also useful in other contexts. This would be totally convincing were it true: a language should not introduce new special constructions when a library component or technique would suffice. In the example of a dynamically scoped function, there is a direct correspondence between the "throw" function and the "catch" function. (They're both called the same name). Question: What is the functional equivalent to the ability of C++ to provide "matching"?