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: border1.nntp.dca3.giganews.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!goblin2!goblin.stu.neva.ru!xlned.com!feeder3.xlned.com!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Tue, 11 Jun 2013 08:31:06 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Gnat 2013 is out! References: <32d94173-533a-471e-95a0-abb73a6cdcc2@googlegroups.com> <51a9e025$0$9521$9b4e6d93@newsspool1.arcor-online.net> <33025e6c-b893-4c66-98f6-0fb469016583@googlegroups.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <51b6c424$0$6633$9b4e6d93@newsspool2.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 11 Jun 2013 08:31:00 CEST NNTP-Posting-Host: fe710a0d.newsspool2.arcor-online.net X-Trace: DXC=HZTXTo?Z5]:lIh70@ejV8QicM]1I59f:` On 11.06.13 04:39, Randy Brukardt wrote: > "Adam Beneschan" wrote in message > news:33025e6c-b893-4c66-98f6-0fb469016583@googlegroups.com... >> On Saturday, June 1, 2013 4:51:01 AM UTC-7, Georg Bauhaus wrote: >>> On 01.06.13 00:07, Randy Brukardt wrote: >>> >>>> Unless the syntax makes it pretty obvious that this is a dummy, >>>> discarded >>>> parameter, this idea is going nowhere. (And it might very well go >>>> nowhere >>>> even if the syntax is perfect.) >>> >>> Can you perhaps employ the new subpools mechanism? To provide >>> constraints for an anonymous, "boxed object", we'd write >>> >>> My_Proc (Obj1, Obj2, Result => <> String'(1..80 => <>)); >>> >>> Then, if __ stands for a subpool known only to the compiler >>> such as, ahem, the stack, the expansion is the impossible >>> >>> My_Proc (Obj1, Obj2, Result => (new(__) String'(1..80 => <>)).all); >> >> I'm beginning to regret opening this subject up. > > I feel your pain, after I encouraged it. What part of "really simple" don't > people understand? Two parts (and please note that the subpools are inessential): First, "really simple" is always a little suspicious when the author of a compiler emphasizes simplicity. ;-) ;-) ;-) Second, concerning the constraints that need to be supplied, is there *any* way in Ada that allows them to be stated "really simply"? If the dummy syntax is for expressions of substitutes of a regular declaration, how can a dummy expression be so much more simple than a dummy declaration? About the only thing I can imagine towards simplified syntax is inference of type *and* range constraints, with the help of context (the subprograms' declarations). Is that double inference part of Ada right now? If not, the closest level of syntactic simplicity would be that of aggregates, with constraints, wouldn't it?