Deutsch   English   Français   Italiano  
<5KWcndcdSMZgwMv1nZ2dnZfqnPqdnZ2d@giganews.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!border-3.nntp.ord.giganews.com!nntp.giganews.com!Xl.tags.giganews.com!local-2.nntp.ord.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sat, 21 Jun 2025 07:23:41 +0000
Subject: Re: VMS
Newsgroups: comp.os.linux.misc
References: <wCqdnYde9MIbmND1nZ2dnZfqnPadnZ2d@giganews.com>
 <102ka4k$9umt$2@dont-email.me> <87tt4i9nw5.fsf@eder.anydns.info>
 <102l0h9$fjtb$5@dont-email.me>
 <Z2udned3u9ZgqtP1nZ2dnZfqnPudnZ2d@giganews.com>
 <slrn1054j9c.3ce8.candycanearter07@candydeb.host.invalid>
 <PpudnVnCnvuYxc_1nZ2dnZfqnPudnZ2d@giganews.com>
 <wwva564xjps.fsf@LkoBDZeT.terraraq.uk>
 <4_GdncCsf-Nqe8n1nZ2dnZfqnPSdnZ2d@giganews.com>
 <wwv5xgqkfl9.fsf@LkoBDZeT.terraraq.uk> <103392c$lpbg$5@dont-email.me>
 <1033o4a$1qj6$3@dont-email.me> <wwvldpm17zc.fsf@LkoBDZeT.terraraq.uk>
 <1035ldd$u0ib$4@dont-email.me>
From: c186282 <c186282@nnada.net>
Date: Sat, 21 Jun 2025 03:23:25 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <1035ldd$u0ib$4@dont-email.me>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Message-ID: <5KWcndcdSMZgwMv1nZ2dnZfqnPqdnZ2d@giganews.com>
Lines: 32
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-TABFa45Gh5nf+WJxJCRfXcr67cLy5gH0bgfIN++WmJ3Sys/5TEztbnrXhkT9LGYOuqvWEVcMSeO3fxl!ziItbFbl2przvRe+BsxU1nQeX2kVVsYlywyVUctfeMNSSVnlPY6YcJe/NQjNKNYJDq6Uddg1I+/Z
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
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.40

On 6/21/25 3:02 AM, Lawrence D'Oliveiro wrote:
> On Fri, 20 Jun 2025 21:19:35 +0100, Richard Kettlewell wrote:
> 
>> Secondly, many checks can be optimized out. e.g. iterating over an array
>> (or a prefix of it) doesn’t need a check on every access, it just needs
>> a check that the loop bound doesn’t exceed the array bound[1].
> 
> And remember, Ada has subrange types, just like Pascal before it. This
> means, if you have something like (excuse any errors in Ada syntax)
> 
>      nr_elements : constant integer := 10;
>      subtype index is
>          1 .. nr_elements;
> 
>      buffer : array index of elt_type;
>      buffer_index : index;
> 
> then an array access like
> 
>      buffer(buffer_index)
> 
> doesn’t actually need to be range-checked at that point, because the
> value of buffer_index is already known to be within the valid range.

   "Already known" is great, I pref it when possible ... but
   the modern stuff tends to be built with the 'infinitely
   extensible' mindset. Little data sets, a few small params,
   become HUGE sets and params 20 years on.

   I've done ONE borderline 'medium' Ada app ... never again.
   Just TOO anal-retentive - half your work is DEFEATING that
   so you can get ANYTHING useful done.