comp.lang.ada
 help / color / mirror / Atom feed
From: Gene <gene.ressler@gmail.com>
Subject: Re: type access Parent'Class
Date: Mon, 21 Nov 2011 15:45:24 -0800 (PST)
Date: 2011-11-21T15:45:24-08:00	[thread overview]
Message-ID: <558f254a-1ae9-4f22-9430-5f110ae595b1@f29g2000yqa.googlegroups.com> (raw)
In-Reply-To: cf11dc37-33a6-4c62-bfd9-4165e6f83dd5@h30g2000pro.googlegroups.com

On Nov 21, 8:25 pm, Adam Beneschan <a...@irvine.com> wrote:
> On Nov 21, 11:03 am, Yukicanis <yukica...@googlemail.com> wrote:
>
>
>
>
>
> > Dear Group,
>
> > I'm new to Ada and currently playing around with its OOP features.
> > Now, I have the following source:
>
> > procedure Test is
> >   type Parent is tagged limited null record;
> >   type Parent_Access is access Parent'Class;
> >   A : access Parent'Class;
> >   B : Parent_Access;
> >   procedure Dyn_Disp(X : access Parent'Class) is
> >   begin
> >     A := X;
> >     B := X;
> >   end Dyn_Disp;
> > begin
> >   null;
> > end Test;
>
> > When I try to complie that with GNAT 4.6.1 I get the following error
> > message:
>
> > test.adb:9:10: expected type "Parent_Access" defined at line 3
> > test.adb:9:10: found type access to "Parent'Class" defined at line 6
>
> > which I don't really understand since type "Parent_Access" is type
> > access to Parent'Class, isn't it?
>
> > Thanks in advance.
>
> Ada is a strongly typed language.  That means that you can have two
> types that look exactly the same but are still different types,
> because you've declared them as different types, and you can't just
> use them interchangeably.  Example:

Strong typing doesn't isn't quite the right explanation.  Rather I
think you want to say that Ada type equality and compatibility are
defined in terms of static type names. There is also the rule that
anonymous types are inequivalent to any other type.

However, there exist languages that are strongly typed that don't rely
(at least entirely) on name equivalence. Rather they use some
variation of structural equivalence. ML is in this category.



  parent reply	other threads:[~2011-11-21 23:45 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-21 19:03 type access Parent'Class Yukicanis
2011-11-21 19:25 ` Adam Beneschan
2011-11-21 19:40   ` Yukicanis
2011-11-21 19:45     ` Robert A Duff
2011-11-21 19:46       ` Yukicanis
2011-11-21 23:45   ` Gene [this message]
2011-11-22  8:42     ` Dmitry A. Kazakov
2011-11-22 10:07       ` Georg Bauhaus
2011-11-22 13:27         ` Simon Wright
2011-11-22 16:13           ` Georg Bauhaus
2011-11-21 19:33 ` Robert A Duff
2011-11-21 19:44   ` Yukicanis
2011-11-24 10:33   ` Yannick Duchêne (Hibou57)
2011-11-24 11:18     ` Yukicanis
2011-11-21 21:09 ` Jeffrey Carter
replies disabled

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