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!feeder.eternal-september.org!aioe.org!.POSTED.3d73Ybk3C5U4I2t8lv+lAQ.user.gioia.aioe.org!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Latest suggestion for 202x Date: Sun, 23 Jun 2019 10:29:10 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <728c4668-8fa0-4a57-a502-2bf476fc3940@googlegroups.com> <4908c3e3-18dc-4953-bf26-46f160d2ebfd@googlegroups.com> <9dcf22a2-2255-4089-b1f0-93e31448415e@googlegroups.com> <86h88obeu0.fsf@gaheris.avalon.lan> <39e749cd-de5c-44fa-b8ec-50d36f3bd52c@googlegroups.com> NNTP-Posting-Host: 3d73Ybk3C5U4I2t8lv+lAQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader01.eternal-september.org comp.lang.ada:56720 Date: 2019-06-23T10:29:10+02:00 List-Id: On 2019-06-23 09:38, G.B. wrote: > On 22.06.19 20:37, Dmitry A. Kazakov wrote: >>> I disagree.  Array indexing operations refer to elements of an array >>> object.  Function calls yield a value, and can have side effects. >> >> So can array indexing, when you get a copy of an array element, its >> construction may do whatever you wanted, e.g. spawn format c: /q. > > The way in which your argument is composed is not really doing justice > to the original ideas of array and record, I think. > > It is fusing features of almost different languages, to no avail > (other than formalism). > > The original *ideas* of array and record are fairly simple: > store plain old data objects somewhere, by index or by name. > No fancy effects. > > Your argument then invokes not-so-simple and later ideas of object > construction and its operations. These would become associated with array > components, but also with any other object. Hence, not specifically > with arrays. Even machine code objects need construction and have operations. People make mistake thinking of types and operations as something you can add later or ignore. There is no such thing as typeless value. > I think it is a better idea to conceive of Ada arrays as low > level representational types. Arrays should only exist in private parts, > or bodies. It is two different concepts - interface and implementation. 1. array as a container object of certain properties (mapping) 2. array as a building block, a primitive types algebra operation 2 implements 1. Array indexing is an interface. Why must this interface have a syntax dependent on its ultimate implementation? Did people learn nothing from the Unbounded_String fiasco? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de