From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: T'Interface attribute
Date: Wed, 2 Aug 2017 15:43:37 +0200
Date: 2017-08-02T15:43:37+02:00 [thread overview]
Message-ID: <olskua$1bfd$1@gioia.aioe.org> (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
next reply other threads:[~2017-08-02 13:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-02 13:43 Dmitry A. Kazakov [this message]
2017-08-02 14:23 ` T'Interface attribute 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
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox