From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Ada Interfaces and the Liskov Substitution Principle
Date: 24 May 2007 00:29:29 -0700
Date: 2007-05-24T00:29:29-07:00 [thread overview]
Message-ID: <1179991769.376381.252010@m36g2000hse.googlegroups.com> (raw)
In-Reply-To: <f32d9o$fi9$1@jacob-sparre.dk>
On 23 Maj, 23:58, "Randy Brukardt" <r...@rrsoftware.com> wrote:
> > My humble opinion: assignment of class-wide types should be prohibited
> > in the first place. I mean - at compile time.
> > It's just asking for troubles.
>
> That doesn't make much sense. Yes, it is a bit weird that assignment is
> potentially a dispatching operation, but otherwise there is no semantic
> problem with it.
Can it be dispatching on both arguments?
If not, how can you reasonably implement it?
And even if it could, still, how can you *reasonably* implement it?
Let's take a classic example with the hierarchy of geometric objects
(Object, Rectlangle, Triangle, Circle, and so on) and this:
procedure Do_Something(X : in Object'Class; Y : out Object'Class) is
begin
Y := X; -- ?
end Do_Something;
> (The OP having an illegal example, thus proving nothing.)
The OP did not prove that Ada violates LSP, but he did point out where
the problems can hide.
Coming from C++, I have never seen any single example where assignment
made sense with polymorphic hierarchies.
Do you know any such example? Can you show it?
> It might be a bit hard to use usefully, but that's no reason for banning it.
C programmers can use the same logic to justify everything. ;-)
--
Maciej Sobczak
http://www.msobczak.com/
next prev parent reply other threads:[~2007-05-24 7:29 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-23 19:47 Ada Interfaces and the Liskov Substitution Principle Stefan Lucks
2007-05-23 20:32 ` Ludovic Brenta
2007-05-23 22:00 ` Randy Brukardt
2007-05-24 0:56 ` Anh Vo
2007-05-24 18:27 ` Pascal Obry
2007-05-24 18:39 ` Dmitry A. Kazakov
2007-05-24 18:51 ` Pascal Obry
2007-05-24 22:44 ` Randy Brukardt
2007-05-24 6:57 ` Stefan Lucks
2007-05-23 20:54 ` Maciej Sobczak
2007-05-23 21:58 ` Randy Brukardt
2007-05-24 7:29 ` Maciej Sobczak [this message]
2007-05-24 8:02 ` Dmitry A. Kazakov
2007-05-24 12:58 ` Maciej Sobczak
2007-05-24 13:42 ` Dmitry A. Kazakov
2007-05-24 22:08 ` Robert A Duff
2007-07-01 1:00 ` David Thompson
2007-05-24 22:58 ` Randy Brukardt
2007-05-25 7:52 ` Maciej Sobczak
2007-05-25 8:21 ` Dmitry A. Kazakov
2007-05-25 20:27 ` Maciej Sobczak
2007-05-26 7:48 ` Dmitry A. Kazakov
2007-05-27 8:30 ` Maciej Sobczak
2007-05-27 10:04 ` Dmitry A. Kazakov
2007-05-29 8:03 ` Maciej Sobczak
2007-05-29 13:18 ` Dmitry A. Kazakov
2007-05-29 13:32 ` Dmitry A. Kazakov
2007-05-29 15:34 ` Maciej Sobczak
2007-05-29 17:07 ` Dmitry A. Kazakov
2007-05-30 7:40 ` Maciej Sobczak
2007-05-30 8:43 ` Dmitry A. Kazakov
2007-05-30 12:54 ` Maciej Sobczak
2007-05-30 13:56 ` Dmitry A. Kazakov
2007-05-30 16:49 ` vgodunko
2007-05-30 20:52 ` Maciej Sobczak
2007-05-31 8:15 ` Dmitry A. Kazakov
2007-05-31 13:46 ` Maciej Sobczak
2007-06-01 7:29 ` Dmitry A. Kazakov
2007-06-01 13:32 ` Maciej Sobczak
2007-06-01 14:53 ` Dmitry A. Kazakov
2007-06-01 20:31 ` Maciej Sobczak
2007-06-02 8:19 ` Dmitry A. Kazakov
2007-06-02 16:49 ` Maciej Sobczak
2007-06-03 7:09 ` Dmitry A. Kazakov
2007-06-03 22:04 ` Maciej Sobczak
2007-06-04 8:08 ` Dmitry A. Kazakov
2007-06-04 17:02 ` Maciej Sobczak
2007-06-05 8:35 ` Dmitry A. Kazakov
2007-06-05 22:12 ` Maciej Sobczak
2007-06-06 8:21 ` Dmitry A. Kazakov
2007-06-06 14:46 ` Maciej Sobczak
2007-06-06 15:11 ` Maciej Sobczak
2007-06-06 15:32 ` Markus E Leypold
2007-05-24 10:42 ` Georg Bauhaus
2007-05-24 13:41 ` Dmitry A. Kazakov
2007-05-25 16:59 ` Markus E Leypold
2007-05-28 9:52 ` Georg Bauhaus
2007-05-28 11:50 ` Dmitry A. Kazakov
2007-05-28 23:32 ` Georg Bauhaus
2007-05-29 12:05 ` Dmitry A. Kazakov
2007-05-29 13:33 ` Georg Bauhaus
2007-05-29 17:29 ` Dmitry A. Kazakov
2007-05-29 20:46 ` Georg Bauhaus
2007-05-30 7:53 ` Dmitry A. Kazakov
2007-05-30 13:18 ` Georg Bauhaus
2007-05-31 10:27 ` Dmitry A. Kazakov
2007-05-31 11:44 ` Georg Bauhaus
2007-06-01 7:37 ` Dmitry A. Kazakov
2007-06-01 10:07 ` Markus E Leypold
2007-06-01 11:41 ` Georg Bauhaus
2007-06-01 13:07 ` Dmitry A. Kazakov
2007-05-28 13:47 ` Markus E Leypold
2007-05-28 23:12 ` Georg Bauhaus
2007-05-28 13:56 ` Markus E Leypold
2007-05-28 23:00 ` Georg Bauhaus
2007-05-24 7:39 ` Dmitry A. Kazakov
2007-05-24 11:12 ` Stefan Lucks
2007-05-24 13:56 ` Dmitry A. Kazakov
2007-05-24 14:41 ` Stefan Lucks
2007-05-24 15:46 ` Dmitry A. Kazakov
2007-05-24 15:00 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox