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.
next prev parent 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