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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!newsfeed.datemas.de!weretis.net!feeder4.news.weretis.net!news.on-luebeck.de!reality.xs3.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Making sense of predicates Date: Wed, 23 Oct 2013 22:58:18 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <1830ad81-00dc-4639-922a-771a01cd06ec@googlegroups.com> <87eh7drc61.fsf@adaheads.sparre-andersen.dk> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1382587103 8970 69.95.181.76 (24 Oct 2013 03:58:23 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 24 Oct 2013 03:58:23 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:17514 Date: 2013-10-23T22:58:18-05:00 List-Id: "Shark8" wrote in message news:b4d93d01-c200-404f-a414-71258ef8318c@googlegroups.com... ... > IOW, why is the predicate required to be dynamic when, for example, > "subtype Number_String is Array(Positive range <>) of Digit_Character" or > "subtype short_String is String(1..255)" is not a dynamic-predicate? Because the idea of a "static predicate" was a hack to allow certain (scalar) predicates in for loops and case statements. All predicates were originally supposed to be dynamic; there was a set constraint proposed to handle the static set cases. Most people (not me) preferred having predicates handle sets, that required two kinds of predicate to avoid maintenance hazards. Maybe we'll extend them someday, but I think we'd have to have a compelling use case. And adding new kinds of constraints (such as an array element constraint) would have a much higher bar than extending existing kinds of constraints (such as a way to have a static one-ended unconstrained array). Randy.