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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: ffc1e,a48e5b99425d742a X-Google-Attributes: gidffc1e,public X-Google-Thread: fac41,a48e5b99425d742a X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,5da92b52f6784b63 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,a48e5b99425d742a X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,a48e5b99425d742a X-Google-Attributes: gid103376,public From: Steve Furlong Subject: Re: Papers on the Ariane-5 crash and Design by Contract Date: 1997/03/23 Message-ID: <3335D3AC.9B8@pti-us.com.nospam>#1/1 X-Deja-AN: 227804821 References: <332B5495.167EB0E7@eiffel.com> <332D113B.4A64@calfp.co.uk> <5gm8a6$2qu$2@news.irisa.fr> <3332BE49.8F9@lmtas.lmco.com> <33330FE5.3F54BC7E@eiffel.com> <333438B5.ABD322C@eiffel.com> To: Anders Pytte Organization: Internet MCI Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.programming.threads,comp.lang.ada Date: 1997-03-23T00:00:00+00:00 List-Id: Anders Pytte wrote: > > In article <333438B5.ABD322C@eiffel.com>, Bertrand Meyer > wrote: > > In a few hours my team developed much of the functionality of Eiffel's > assertions (certainly the most essential functionality) for our C++ > project by using macros. With minor changes, I could apply them to the > problem suggested by Bertrand as follows. Show me how this will not work, > please! > > The macros, which can offcourcse be turned on or off according to compile > switches: > > ENTER: Sets up data structures to register requires by name so they can > override requires of the same name in calls to inherited method. > > REQUIRE, ENSURE, INVARIANT: Registers name (check to see if overridden) > and handles false expression with exception, program break, or other > means. > > EXIT: Cleans up data structures created by ENTER and calls CheckInvariants(). <> > I would prefer using Eiffel, but I agree with Jon Anthony that the same > practices (use of assertion for design by contract) are available from > alternative languages. Getting this concept across to Eiffel language > fiends can be exasperating! PLEASE make these macros available. I've failed to raise interest in Eiffel or Ada instead of C++, so now I'm trying to bring some of their better features to our C++ code. Thanks, Steve Furlong