comp.lang.ada
 help / color / mirror / Atom feed
* T'Interface attribute
@ 2017-08-02 13:43 Dmitry A. Kazakov
  2017-08-02 14:23 ` Eryndlia Mavourneen
  2017-08-03  4:46 ` Randy Brukardt
  0 siblings, 2 replies; 20+ messages in thread
From: Dmitry A. Kazakov @ 2017-08-02 13:43 UTC (permalink / raw)


In order to reduce name space contamination I would propose attribute 
T'Interface which for any tagged type T would denote an interface type 
with all *new* primitive operations, e.g.

    type Derived is new Parent with ...;
    not overriding procedure Foo (X : Derived);

is equivalent to

    type Derived'Interface is [limited etc] interface;
    procedure Foo (X : Derived'Interface);

    type Derived is new Parent and Derived'Interface with ...;

T'Interface is visible at the declaration point of T. Its use is same as 
of T. E.g. prior to the freezing point of T is "premature".

Question. If T has any discriminants so does T'Interface.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-08-11 20:49 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-02 13:43 T'Interface attribute Dmitry A. Kazakov
2017-08-02 14:23 ` Eryndlia Mavourneen
2017-08-03 12:52   ` Dmitry A. Kazakov
2017-08-03  4:46 ` Randy Brukardt
2017-08-03  7:26   ` Dmitry A. Kazakov
2017-08-04 23:51     ` Randy Brukardt
2017-08-05  7:49       ` Dmitry A. Kazakov
2017-08-07 22:59         ` Randy Brukardt
2017-08-08  6:13           ` Dmitry A. Kazakov
2017-08-09  0:38             ` Randy Brukardt
2017-08-09  7:06               ` Dmitry A. Kazakov
2017-08-09 23:03                 ` Randy Brukardt
2017-08-10  7:13                   ` Dmitry A. Kazakov
2017-08-11  0:33                     ` Randy Brukardt
2017-08-11  6:55                       ` Dmitry A. Kazakov
2017-08-11 20:49                         ` Randy Brukardt
2017-08-03 17:27   ` Eryndlia Mavourneen
2017-08-05  0:09     ` Randy Brukardt
2017-08-05 19:02       ` Eryndlia Mavourneen
2017-08-07 22:49         ` Randy Brukardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox