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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: operation can be dispatching in only one type Date: Tue, 1 Dec 2015 14:56:51 +0100 Organization: cbb software GmbH Message-ID: <51sbiz7sr8o7$.9wqd8z5xjlf8$.dlg@40tude.net> References: <04eb6626-644b-4b16-a329-c35659a9fbe2@googlegroups.com> <1ephv5ugr5mib$.9ehadf3dddct$.dlg@40tude.net> <1nf8wc05tjtvf$.1ctjb9hsr0qsp.dlg@40tude.net> <8132c558-aec2-41f4-8024-4a75a2d497ae@googlegroups.com> <17c8a7kqoxvff.aa1raqev6xlu$.dlg@40tude.net> <75a4c7be-391d-4e5d-9e6e-23607132c943@googlegroups.com> <343b78d1-c1ba-40d3-af80-e18de45f2e3d@googlegroups.com> <11das66l3vhic$.1stkau3dqp6ld.dlg@40tude.net> <6y03ogx0fsk8$.n0ldd6cud931$.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: bqgfK7NL3xTHnr0WRaLl4g.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:28612 Date: 2015-12-01T14:56:51+01:00 List-Id: On Tue, 1 Dec 2015 12:19:02 +0100, G.B. wrote: > On 01.12.15 09:46, Dmitry A. Kazakov wrote: >> There is no reason why indexing or record member access >> should be less efficient when a user-defined implementation allowed, but >> not actually used. > > Sounds a bit like user defined aspects of compilation? It is not an aspect. Aspect is a view, characteristic, feature: http://www.thefreedictionary.com/aspect It means that aspect may not change the semantics. User-defined operation is exactly the opposite. It does not change the view. The object is still viewed as an array or a record. It is the semantics that gets changed. This is also what is wrong with the aspect approach in general. From the software design point of view it implies that you add a view to something already existing, already designed in its own way, a cherry on the top. That is either a wrong way to design software or else a superfluous thing. I suspect that creators of aspects considered the latter, as something unserious. The end users do it as the former, which results in poor design. > What > guarantees would the compiler be able to generate that user > defined mechanics will work at the same level of assurance > as that of "regular" records? Generated guaranties? You lost me here. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de