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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,6327f05d4989a68d X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.180.109.162 with SMTP id ht2mr1990699wib.1.1355919819507; Wed, 19 Dec 2012 04:23:39 -0800 (PST) Path: i11ni221940wiw.0!nntp.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!217.73.144.45.MISMATCH!feeder2.ecngs.de!ecngs!feeder.ecngs.de!xlned.com!feeder1.xlned.com!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Wed, 19 Dec 2012 13:23:37 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Press Release - Ada 2012 Language Standard Approved by ISO References: <7wrdmbre6jw9.qww9l0uzj6mg.dlg@40tude.net> <50d18248$0$6571$9b4e6d93@newsspool3.arcor-online.net> <50d1872e$0$6567$9b4e6d93@newsspool3.arcor-online.net> <17ldigf63j9c9.qy9f21o7y5ip.dlg@40tude.net> In-Reply-To: <17ldigf63j9c9.qy9f21o7y5ip.dlg@40tude.net> X-Enigmail-Version: 1.4.6 Message-ID: <50d1b1ca$0$9524$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 19 Dec 2012 13:23:38 CET NNTP-Posting-Host: 9e643ee1.newsspool1.arcor-online.net X-Trace: DXC=WoO0>Ofj24Y\PS5Xo=M[RVic==]BZ:af^4Fo<]lROoRQnkgeX?EC@@PUSa^hhA5AYZnc\616M64>ZLh>_cHTX3j]n3J`;DN=4kS X-Complaints-To: usenet-abuse@arcor.de Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Date: 2012-12-19T13:23:38+01:00 List-Id: On 19.12.12 10:38, Dmitry A. Kazakov wrote: > On Wed, 19 Dec 2012 10:21:51 +0100, Georg Bauhaus wrote: > >> On 19.12.12 10:19, Dmitry A. Kazakov wrote: >>> It is deeply wrong. A [sub]type should describe some class of entities >>> sharing common properties and behavior. >> >> If properties and behavior are functions of physical time, >> how does a [sub]type describe the class of corresponding entities? > > They are not. > > The whole idea of typing is to abstract/define/describe properties > invariant to the program state (and time, and space). Programmers writing in language Qi might disagree, since their programs can compute types. In any case, if a program lets me know whether some predicate is true for a series of object's states, it gives me a set of values, filtered, that may be good for making the type more precise during the next run. Attaching the Dynamic_Predicate as a subtype constraint draws attention to it; the predicate might otherwise be hidden in some all too ordinary conditional (no abstraction), indistinguishable from Boolean functions. A programmer might prefer to provide a more explicit mechanism for checking, though, such as by defining an abstract type Filtered, with suitable operations that triggered when now Dynamic_Predicate is triggered.