| 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.