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: Fri, 27 Nov 2015 14:39:30 +0100 Organization: cbb software GmbH Message-ID: <11das66l3vhic$.1stkau3dqp6ld.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> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: p9a8jKAGz0rpkSSbWxF1gQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit 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:28558 Date: 2015-11-27T14:39:30+01:00 List-Id: On Fri, 27 Nov 2015 13:58:32 +0100, J-P. Rosen wrote: > Le 27/11/2015 09:37, Dmitry A. Kazakov a écrit : >>> That's what is called syntactic sugar. (Sugar is pleasant, isn't it? But >>> > not in my coffee, no thanks ;-) ) >> Why do you use record types at all? It surely is just sugar dust put on a >> memory chunk. You certainly could declare Get and Set operations to extract >> and set members at the specified memory offsets. No? > 1) For types not exported by packages > 2) For types exported by packages where you want the structure to be > public, like information returned by queries. You don't always need to > hide information. But when I need I must be able to do it. > And when a construct provides higher abstraction level, it is NOT > syntactic sugar. A record provides typing and controls over raw memory. q.e.d. 1. Raw memory is an implementation detail. A record could provide all that for a lot of things beyond raw memory. 2. What makes you think that the compiler always knows better how to control raw memory? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de