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,c406e0c4a6eb74ed X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local1.nntp.dca.giganews.com!nntp.megapath.net!news.megapath.net.POSTED!not-for-mail NNTP-Posting-Date: Mon, 20 Sep 2004 15:40:39 -0500 From: "Randy Brukardt" Newsgroups: comp.lang.ada References: <49dc98cf.0408110556.18ae7df@posting.google.com> <17sx057ro5jw5$.t2qlaeoxg611$.dlg@40tude.net> <1095082522.132276@master.nyc.kbcfp.com> <18ym85v67zof3$.7oqswzjfgswr.dlg@40tude.net> <1095090665.624419@master.nyc.kbcfp.com> <68zmgy3b894u.rs67cy6jjfiq$.dlg@40tude.net> <1164383.Vq7EPUUJyU@linux1.krischik.com> <2177491.OlAk1RxoCA@linux1.krischik.com> Subject: Re: ADA Popularity Discussion Request Date: Mon, 20 Sep 2004 15:41:46 -0500 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300 Message-ID: NNTP-Posting-Host: 64.32.209.38 X-Trace: sv3-TulNhlIlRmPUW5UpTOs84Jri8rJFSoIpdfo079KN34ltbTT0PPms0WRJlKJqKIJCg1ubLjPQ8md/F+Z!WAvXk3JrclkOy/IJPuYD01gcDae5RmPJM4N5ZKIi+QB9sPLuqOgPs9AxOT5G+mU0itsicrXkqd7q X-Complaints-To: abuse@megapath.net X-DMCA-Complaints-To: abuse@megapath.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.13 Xref: g2news1.google.com comp.lang.ada:3874 Date: 2004-09-20T15:41:46-05:00 List-Id: "Martin Krischik" wrote in message news:2177491.OlAk1RxoCA@linux1.krischik.com... > Georg Bauhaus wrote: > > > Martin Krischik wrote: > > > > : Now that you say it: True. Mind you, if space is a problem, you can > > : always do it the C way: > > : > > : String_1 : aliased String = "1"; > > : String_12 : aliased String = "12"; > > : String_13 : aliased String = "13"; > > : > > : type String_Access is access all String; > > : type Ragged is array (Integer range <>) of String_Access; > > : X : constant Ragged := > > : ( String_1'Access, > > : String_12'Access, > > : String_13'Access > > : ); > > > > for constants, > > > > X: constant Ragged := > > ( new String'("1"), > > ... > > > > does just as well, the allocations are performed by the compiler, > > not at run time :-) > > Really! I did not know that! Where does it say in the RM - or is a compiler > dependent optimisation. The standard really couldn't say it; we only define the semantics of the operation, not the exact code that it uses. That said, there was an intention by the Ada 95 design team that this be done, and I think that there is an AARM note to that effect. So it isn't surprises that implementers would make this optimization. (We didn't do it in Janus/Ada, simply because it didn't seem worth the work -- we hadn't seen any real usage of it. If customers had asked for it, we would have done it, of course.) Randy.