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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.107.24.67 with SMTP id 64mr10348984ioy.87.1507001423133; Mon, 02 Oct 2017 20:30:23 -0700 (PDT) X-Received: by 10.157.54.53 with SMTP id w50mr203780otb.2.1507001423056; Mon, 02 Oct 2017 20:30:23 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!paganini.bofh.team!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!v62no3145972itd.0!news-out.google.com!194ni4755itf.0!nntp.google.com!v62no3144440itd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 2 Oct 2017 20:30:22 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=85.167.214.81; posting-account=bPTmZAoAAAC_6HP9XLKB9aAAxBa6BuOR NNTP-Posting-Host: 85.167.214.81 References: <325cf1db-bd9e-4f58-a07b-f297960df269@googlegroups.com> <457e2526-d4b6-4999-8521-64f8b6a0810f@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <561e1aa0-d6a5-40cf-a585-e31aef767460@googlegroups.com> Subject: Re: Community Input for the Maintenance and Revision of the Ada Programming Language From: reinert Injection-Date: Tue, 03 Oct 2017 03:30:23 +0000 Content-Type: text/plain; charset="UTF-8" Xref: news.eternal-september.org comp.lang.ada:48302 Date: 2017-10-02T20:30:22-07:00 List-Id: I noticed that my compiler did not like for example: t1 : time := clock + 10.0; t2 : time := t1 + 20.0; t3 : time range t1 + 10.0 .. t2 + 30.0; No room for syntactic sugar here? :-) reinert On Monday, October 2, 2017 at 9:14:06 PM UTC+2, Jeffrey R. Carter wrote: > On 10/02/2017 06:23 PM, reinert wrote: > > > > I thought "x in a..b" was (should be?) short for "a <= x and x <= b" > > (where x, a and b are elements in a (strict) linearly ordered set or so). > > No, "in" checks whether a value is a member of a subtype: > > value in subtype_name > > value in Low .. High > > is shorthand for > > value in Subtype_Name range Low .. High > > where Subtype_Name is a scalar subtype. This is itself shorthand for > > subtype anonymous is Subtype_Name range Low .. High; > > value in anonymous > > Note that you can do > > type T (D : Boolean) is private; > subtype TF is T (D => False); > subtype TT is T (D => True); > > V : T (D => Boolean'Value (Get_Line) ); > > if V in TT then > > -- > Jeff Carter > "He nevere yet no vileynye ne sayde > In al his lyf unto no maner wight." > Canterbury Tales > 156