From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: Ada OOP alternatives?
Date: Fri, 25 Jul 2008 18:24:26 +0200
Date: 2008-07-25T18:24:26+02:00 [thread overview]
Message-ID: <4889fe3a$0$18828$9b4e6d93@newsspool2.arcor-online.net> (raw)
In-Reply-To: <en861ln1rnyi$.1je4v1x4rs1ce.dlg@40tude.net>
Dmitry A. Kazakov schrieb:
> On Fri, 25 Jul 2008 10:47:49 +0200, Georg Bauhaus wrote:
>
> [...]
>> Suppose you try to use an IDE in place of "separate",
>> to hide away the details of Special_Case. Then the dependences
>> on the with'ed package Ada.Text_IO and on All_Kinds_of_Things_Neccessary
>> will have to be listed for the entire package.
>
> Yes, but it would not change dependencies.
Yes, separate units can change the dependences of a package
body. E.g., in a good many cases, a package body can be compiled
without the separate unit. (It can be compiled without
a child package, too).
When the separate unit depends on a yet-to-be written/delivered
package, the parent body is not affected. You cannot achieve this
kind of compilation advantage when you put the separate subprogram
into the parent body instead. (Not different from a child.)
> Better, there should be a "without" clause/pragma (:-))
:-)
> So, yes, an ADT, even if it is a singleton today.
For what? I think that language theorists have ways to
associate a synthetic OO type with a singleton package
without loss.
> Only objects should have states.
Yes, only objects can have states. I am assuming you mean that every
variable object of a scope other than the scope of an innermost
subprogram is evilly global?
> Global variables is
> a no-no. There cannot be stateful procedures otherwise than impure, with
> global variables.
When the "global" variable cannot be manipulated by
anything besides a visible procedure, this statement
is false.
private
package Parent.Singleton is
procedure Bump(Item: Some_Type);
end;
I see you disagree with state variables hidden in singleton package
bodies. I claim that passing them around instead has potential for
creating spaghetti. Plus it requires a visible, private type
and a way to enforce only one object.
The weekend is near, I'll go for a walk if you don't mind.
--
Georg Bauhaus
Y A Time Drain http://www.9toX.de
next prev parent reply other threads:[~2008-07-25 16:24 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-15 20:38 Ada OOP alternatives? raould
2008-07-16 0:15 ` Robert A Duff
2008-07-16 6:33 ` Georg Bauhaus
2008-07-16 9:54 ` Alex R. Mosteo
2008-07-16 13:03 ` Dmitry A. Kazakov
2008-07-16 14:07 ` Robert A Duff
2008-07-16 18:11 ` (see below)
2008-07-17 0:05 ` Robert A Duff
2008-07-17 0:43 ` (see below)
2008-07-17 1:36 ` Robert A Duff
2008-07-17 11:07 ` (see below)
2008-07-17 16:45 ` Robert A Duff
2008-07-17 12:00 ` Dmitry A. Kazakov
2008-07-17 16:50 ` Robert A Duff
2008-07-17 18:56 ` Dmitry A. Kazakov
2008-07-18 12:54 ` Robert A Duff
2008-07-18 13:36 ` Dmitry A. Kazakov
2008-07-17 23:27 ` Randy Brukardt
2008-07-18 12:45 ` Robert A Duff
2008-07-18 23:22 ` Randy Brukardt
2008-07-22 20:32 ` Adam Beneschan
2008-07-22 22:18 ` Ludovic Brenta
2008-07-23 9:25 ` Alex R. Mosteo
2008-07-22 23:35 ` Randy Brukardt
2008-07-23 7:56 ` Dmitry A. Kazakov
2008-07-23 21:04 ` Robert A Duff
2008-07-24 7:07 ` stefan-lucks
[not found] ` <5ob7w7usrc74$.kms2e1vqs4k0.dlg@40tude.net>
[not found] ` <48883529$0$18826$9b4e6d93@newsspool2.arcor-online.net>
[not found] ` <ygdmhl22lzh4$.1dx98hja6p2o6.dlg@40tude.net>
[not found] ` <48883f41$0$18829$9b4e6d93@newsspool2.arcor-online.net>
[not found] ` <6i1s0y8eeka.121ek9qcgunha$.dlg@40tude.net>
[not found] ` <48885757$0$18818$9b4e6d93@newsspool2.arcor-online.net>
2008-07-24 12:48 ` Dmitry A. Kazakov
2008-07-25 8:47 ` Georg Bauhaus
2008-07-25 13:28 ` Dmitry A. Kazakov
2008-07-25 16:24 ` Georg Bauhaus [this message]
2008-07-25 17:55 ` Dmitry A. Kazakov
2008-07-26 5:05 ` Jeff Koftinoff
2008-07-16 14:03 ` Robert A Duff
2008-07-16 14:29 ` 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