comp.lang.ada
 help / color / mirror / Atom feed
From: gautier_niouzes@hotmail.com
Subject: Re: Q: discrete_subtype_definition: static only cases?
Date: Sun, 7 Jun 2020 06:14:47 -0700 (PDT)
Date: 2020-06-07T06:14:47-07:00	[thread overview]
Message-ID: <f040a142-4821-4a99-9a4f-63caf1aca3d5o@googlegroups.com> (raw)
In-Reply-To: <rbiohu$f9m$2@dont-email.me>

On Sunday, June 7, 2020 at 3:02:56 PM UTC+2, Jeffrey R. Carter wrote:
> On 6/7/20 2:13 PM, gautier_niouzes@hotmail.com wrote:
> >> No. The basic principle is that types are static (they determine the
> >> underlying representation) and subtypes are dynamic.
> > 
> > Well, there are obviously exceptions to that basic principle:
> > 
> > procedure SD2 is
> > begin
> >    for I in 1 .. 3 loop
> >      declare
> >        type T is array (1 .. I) of Integer;  --  I is a variable
> >        B: T;
> >      begin
> >        null;
> >      end;
> >    end loop;
> > end;
> 
> Conceptually, this declaration is equivalent to
> 
> type /anon/ is array (Integer range <>) of Integer;
> subtype T is /anon/ (1 .. I);
> 
> So the (anonymous) type is static, but the (first-named) subtype is not.

...plus, the keyword "type" is used and not "subtype". And /anon/ could itself be dynamic (an array of a named dynamic (sub)type).
So basically types are static, except when they aren't ;-)

  reply	other threads:[~2020-06-07 13:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-07  9:27 Q: discrete_subtype_definition: static only cases? gautier_niouzes
2020-06-07 10:40 ` J-P. Rosen
2020-06-07 11:36   ` Niklas Holsti
2020-06-07 12:05     ` Niklas Holsti
2020-06-07 21:02     ` J-P. Rosen
2020-06-08  4:55       ` gautier_niouzes
2020-06-07 12:13   ` gautier_niouzes
2020-06-07 13:02     ` Jeffrey R. Carter
2020-06-07 13:14       ` gautier_niouzes [this message]
2020-06-07 13:50         ` AdaMagica
2020-06-07 14:11           ` gautier_niouzes
2020-06-07 13:00 ` Jeffrey R. Carter
2020-06-11  5:36 ` reinert
replies disabled

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