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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.13.194.197 with SMTP id e188mr39086968ywd.24.1448548063396; Thu, 26 Nov 2015 06:27:43 -0800 (PST) X-Received: by 10.182.73.167 with SMTP id m7mr512519obv.11.1448548063361; Thu, 26 Nov 2015 06:27:43 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!b51no2983986qgf.0!news-out.google.com!f6ni13939igq.0!nntp.google.com!mv3no4237884igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 26 Nov 2015 06:27:43 -0800 (PST) In-Reply-To: <17c8a7kqoxvff.aa1raqev6xlu$.dlg@40tude.net> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=94.107.233.114; posting-account=6m7axgkAAADBKh082FfZLdYsJ24CXYi5 NNTP-Posting-Host: 94.107.233.114 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> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <75a4c7be-391d-4e5d-9e6e-23607132c943@googlegroups.com> Subject: Re: operation can be dispatching in only one type From: Serge Robyns Injection-Date: Thu, 26 Nov 2015 14:27:43 +0000 Content-Type: text/plain; charset=ISO-8859-1 X-Received-Bytes: 2524 X-Received-Body-CRC: 120640398 Xref: news.eternal-september.org comp.lang.ada:28548 Date: 2015-11-26T06:27:43-08:00 List-Id: On Thursday, 26 November 2015 14:15:01 UTC+1, Dmitry A. Kazakov wrote: > If Ada were a better language you could override getters/setters and > provide your own implementation: > > type T is private record -- This is not Ada! > X : Integer; > end record; > private > type T is new DB.Handle with null record; -- No Integer members! > procedure ".X" (Left : in out T; Right : Integer); > function ".X" (Left : T) return Integer); > > P.S. Surely, at some point there would a kludge invented with aspects as it > was done for array indexing... Got you. Yes that would be nice but my need is current :-( I agree that this would be a marvelous enhancement. We could write code as below with the ability to "override" T.X function and procedure and also inherit it from parent types like when implementing interfaces. type T_Stored is new T and T_DOA; A : T; ... A.X := 10; ... if A.X /= 10 then null; end if;