comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Extending a third party tagged type while adding finalization
Date: Tue, 5 Dec 2017 15:09:29 -0600
Date: 2017-12-05T15:09:29-06:00	[thread overview]
Message-ID: <p071u9$30m$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: p04d5g$6jd$1@gioia.aioe.org

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:p04d5g$6jd$1@gioia.aioe.org...
> On 2017-12-04 21:54, Randy Brukardt wrote:
>
>> The sort things that can't afford to be controlled are those that aren't
>> really ADTs anyway (think coordinates of a windows).
>
> What? Window coordinates are a perfect example of ADT. There are lots of 
> quite specific operations defined on coordinates which are beyond normal 
> arithmetic: scaling, rotation, moving, relative to absolute conversions, 
> logical to physical conversions, coordinate systems, scalar and vector 
> products, coordinate translation ... the list is almost infinite.

ADT = "abstract data type". And there is nothing "abstract" about 
coordinates, where you usually want to use an aggregate of X and Y values to 
create them. Just because the type isn't private doesn't mean that you can't 
have operations on them (Janus/Ada internally has essentially no private 
types, but there sure are a lot of operations :-).

The sorts of things that one doesn't want to make controlled also tend to be 
the sorts of things that one doesn't want to make private. Ergo, my advice 
above. As always, YMMV.

                                          Randy.



  reply	other threads:[~2017-12-05 21:09 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-22 12:43 Extending a third party tagged type while adding finalization Jere
2017-11-22 16:42 ` AdaMagica
2017-11-26 17:33   ` Jere
2017-11-26 18:15     ` Dmitry A. Kazakov
2017-11-26 19:31       ` Jere
2017-11-27  9:46     ` AdaMagica
2017-11-27 12:56       ` Jere
2017-11-27 15:00         ` AdaMagica
2017-11-27 16:38           ` Jere
2017-11-27 18:37             ` AdaMagica
2017-11-27 19:53               ` Jere
2017-11-28 11:48                 ` AdaMagica
2017-12-03  2:22                   ` Jere
2017-12-03 21:53               ` Robert Eachus
2017-12-04  7:58                 ` Dmitry A. Kazakov
2017-12-04 14:59                   ` Robert Eachus
2017-12-04 15:39                     ` Dmitry A. Kazakov
2017-11-27 18:10     ` Shark8
2017-11-27 19:56       ` Jere
2017-11-28  1:55       ` Randy Brukardt
2017-12-03  2:47         ` Jere
2017-12-03  9:29           ` Dmitry A. Kazakov
2017-12-03 15:10             ` AdaMagica
2017-12-03 16:39               ` Dmitry A. Kazakov
2017-12-03 19:34             ` AdaMagica
2017-12-03 19:41               ` Dmitry A. Kazakov
2017-12-04 12:38                 ` AdaMagica
2017-12-04 13:19                   ` AdaMagica
2017-12-04 13:55                     ` Dmitry A. Kazakov
2017-12-04 15:44                       ` AdaMagica
2017-12-04 16:19                         ` Dmitry A. Kazakov
2017-12-04 20:54           ` Randy Brukardt
2017-12-04 21:02             ` Dmitry A. Kazakov
2017-12-05 21:09               ` Randy Brukardt [this message]
2017-12-05 21:29                 ` Dmitry A. Kazakov
2017-12-07  1:13                   ` Randy Brukardt
2017-12-07  8:36                     ` Dmitry A. Kazakov
2017-12-07 23:22                       ` Randy Brukardt
2017-12-08  9:30                         ` Dmitry A. Kazakov
2017-12-09  0:17                           ` Randy Brukardt
2017-12-11  9:03                             ` Dmitry A. Kazakov
2017-12-11 22:42                               ` Randy Brukardt
2017-12-12 16:11                                 ` AdaMagica
2017-12-12 20:08                               ` G. B.
2017-12-12 20:32                                 ` Dmitry A. Kazakov
replies disabled

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