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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,640b65cbfbab7216 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!p25g2000hsf.googlegroups.com!not-for-mail From: Eric Hughes Newsgroups: comp.lang.ada Subject: Re: Ada.Strings.Bounded Date: Tue, 22 Apr 2008 11:47:05 -0700 (PDT) Organization: http://groups.google.com Message-ID: <3eb5775f-c7f7-4f92-9154-8f25246b8592@p25g2000hsf.googlegroups.com> References: <80c6fdca-1a89-4d98-b61d-9a405e57d8e5@s13g2000prd.googlegroups.com> <1wh7cbu67y4wz$.7iu8likx0fct.dlg@40tude.net> <144w648u50r6q.1erjxxu0cplbw.dlg@40tude.net> <611360e0-595c-43a7-b5cb-137a278ec0c1@s13g2000prd.googlegroups.com> <15389tuelo6x6$.1c1a6yixordts$.dlg@40tude.net> <4c1be2a2-0178-4c1f-8c96-526020550f42@w4g2000prd.googlegroups.com> <15514187-d7d0-4650-a058-13ec5684be2c@w5g2000prd.googlegroups.com> <07e98c4f-9b79-412f-9e95-94dd04082355@p39g2000prm.googlegroups.com> NNTP-Posting-Host: 166.70.57.218 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1208890026 19486 127.0.0.1 (22 Apr 2008 18:47:06 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 22 Apr 2008 18:47:06 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: p25g2000hsf.googlegroups.com; posting-host=166.70.57.218; posting-account=5RIiTwoAAACt_Eu87gmPAJMoMTeMz-rn User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:21039 Date: 2008-04-22T11:47:05-07:00 List-Id: On Apr 22, 9:41 am, Robert A Duff wrote: > The above-quoted paragraph 3.5.4(8) is normative. It comes right out > and says in plain language exactly what you were trying to prove in a > circuitous manner -- that the the set of values is infinite. Here's the relevant sentence in 3.5.4(8) again: > The set of values for a signed integer type is the (infinite) set > of mathematical integers, though only values of the base range of > the type are fully supported for run-time operations. So now wait. When I declare type X is range 0 .. 99 ; does that mean that the value 100 is a value of type X? Because how that definition reads in any sort of facially-reasonable way is that 100 is not a value of type X. > Note that it does not say anything special about root_int or univ_int. > It applies to ALL signed integer types, including user-defined ones. Apparently so. And so now I have developed a Strong Opinion. This is a travesty. A probably-irredeemable travesty. This is so completely counter- intuitive that I have a hard time believing that competent people came up with this way of writing the definition. It's unnecessary. There are far better ways of defining this, and they don't break any existing syntax. I'm out. Completely out. Everything I've said has been predicated on the assumption that the set of values of a type is what the declaration says it is, rather than having values that cannot be assigned to a variable of that type. In my opinion this means that assignment and variable definition are broken. I don't even care what the details are at this point. Eric