comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de>
Subject: Re: Is T an ancestor of T?
Date: Wed, 20 Oct 2004 21:41:16 +0000 (UTC)
Date: 2004-10-20T21:41:16+00:00	[thread overview]
Message-ID: <cl6m1s$8lq$1@a1-hrz.uni-duisburg.de> (raw)
In-Reply-To: kdwdd.6637$d5.56044@newsb.telia.net

Bj�rn Persson <spam-away@nowhere.nil> wrote:
: Georg Bauhaus wrote:

: 
: Then I'd say "ancestor" is also clearly defined: "If a type T2 is a 
: descendant of a type T1, then T1 is called an ancestor of T2." So if T 
: is a descendant of T, then T is an ancestor of T.
: 

So far so good. As a tree has a root at one and and 
trees at the other ends (so there is no end)
the definition cannot be mirrored so to speak.

:> However,
:> "The ultimate ancestor of a type is the
:>  ancestor of the type that is not a descendant of any other type."
: 
: The one ancestor that isn't a descendant of any type other than itself, 
: that is, the one that isn't derived, is the ultimate ancestor. At least 
: that's how I read that.

Yes, I think that too, but I don't see it in either in the RM nor in the
AARM sentences you quoted. (Which of course means I must be missing
something.)

: 10.b
: A specific type is an ancestor of itself.

o.K.

: 10.c
: Discussion: The terms root, parent, ancestor, and ultimate ancestor are 
: all related. For example:
: 
: 10.d
:     * Each type has at most one parent, and one or more ancestor types; 
: each type has exactly one ultimate ancestor.

So we know there is exactly one ultimate ancestor for each type T.
If T is at the root of a derivation hierarchy of height 0,
is there a named type that is the ultimate ancestor of T?
Is it T? By 10.d I would say yes. By the last sentence of (10),
the ultimate ancestor (T) "is not a descendant of any other type".
So if T is the ultimate ancestor, it is not a descendant of T.
Which it is by the first sentence of (10).
I must be missing something. Specific types?

Then if D is new T with ..., is T the ultimate ancestor of D?
(Again I would agree that it is.)

If T is the ultimate ancestor of T (and T is the ultimate
ancestor of D if D had been defined), can GNAT be right when
(T with n => 0) is accepted as an extension aggregate of specific
type T? I still don't think so.

 (type T is tagged record
     n: Natural;
  end record;)



  reply	other threads:[~2004-10-20 21:41 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-18  5:55 Is T an ancestor of T? Christoph Karl Walter Grein
2004-10-20 14:02 ` Georg Bauhaus
2004-10-20 16:18   ` Björn Persson
2004-10-20 21:41     ` Georg Bauhaus [this message]
2004-10-20 23:33       ` Björn Persson
2004-10-22  2:27         ` Georg Bauhaus
2004-10-23 16:55           ` Björn Persson
2004-10-26  0:37             ` Randy Brukardt
  -- strict thread matches above, loose matches on Subject: below --
2004-10-12  1:31 record extension aggregate for returned type legal? Georg Bauhaus
2004-10-12  8:04 ` Martin Krischik
2004-10-12 14:36   ` Georg Bauhaus
     [not found]     ` <1940150.rU8f1KaX3L@linux1.krischik.com>
2004-10-12 20:24       ` Georg Bauhaus
2004-10-13  7:52         ` Martin Krischik
     [not found]           ` <ckjlhm$2hh$1@a1-hrz.uni-duisburg.de>
     [not found]             ` <ukhbd.106086$dP1.396181@newsc.telia.net>
2004-10-14  0:29               ` Is T an ancestor of T? Georg Bauhaus
2004-10-14  8:54             ` Is T an ancestor of T? (was: Re: record extension aggregate for returned type legal?) Martin Krischik
     [not found]               ` <ckot3m$hek$1@a1-hrz.uni-duisburg.de>
2004-10-15 16:55                 ` Is T an ancestor of T? Martin Krischik
2004-10-15 17:19                   ` Georg Bauhaus
2004-10-16 14:37                     ` Martin Krischik
replies disabled

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