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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,df055ffdd469757d X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII X-Received: by 10.180.86.34 with SMTP id m2mr2390618wiz.5.1361849549942; Mon, 25 Feb 2013 19:32:29 -0800 (PST) Path: g1ni33273wig.0!nntp.google.com!feeder1.cambriumusenet.nl!82.197.223.103.MISMATCH!feeder3.cambriumusenet.nl!feed.tweaknews.nl!216.196.110.146.MISMATCH!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!border4.nntp.ams.giganews.com!border2.nntp.ams.giganews.com!nntp.giganews.com!news.teledata-fn.de!weretis.net!feeder4.news.weretis.net!rt.uk.eu.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Class wide preconditions: error in GNAT implementation? Date: Mon, 18 Feb 2013 20:44:10 +0100 Organization: cbb software GmbH Message-ID: <1aqjuuhb8uasp.17xju4br155ns$.dlg@40tude.net> References: <30edd381-7505-496a-99e5-f884faf33c33@googlegroups.com> <16s3mt7cm3n61$.8qu6fp1nglfq.dlg@40tude.net> <1a648dqoysnp4$.7l9zsp043d2e.dlg@40tude.net> <377a4b9b-eec8-4af9-af3f-fdeb008339e4@googlegroups.com> <1hjhzbhx5ryn7$.rst5open618c.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: TNGw0NoNrWqwYmfxAaSXHQ.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Date: 2013-02-18T20:44:10+01:00 List-Id: On Mon, 18 Feb 2013 11:02:31 -0800 (PST), ytomino wrote: > On Monday, February 18, 2013 5:30:16 PM UTC+9, Dmitry A. Kazakov wrote: >> No, all preconditions must be satisfied, otherwise, the program is >> incorrect, provided it is correctness we are talking about. >> >> But then the precondition of B'Class is *required* to be true for an object >> which is in that class. The precondition of A'Class is weaker and need not >> to be checked if one for B'Class is satisfied. > > Excuse me for misunderstanding your opinion. > > But, do you have the same mistake as mine in�the first post? > Preconditions are combined by "or else". That depends on what you do with the set of values at hand and what the terms being combined mean. If you narrow the set, then obviously the precondition strengthens which could mean "and" for the terms associated with independent subsets of values. If you widen the set it could be "or." It could be anything in more complex cases when subsets are not independent or when some values are added and some are removed, when some operations are in, some are out and some are inout. etc. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de