comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: Extending discriminant types
Date: Tue, 25 Nov 2008 12:24:59 +0100
Date: 2008-11-25T12:24:59+01:00	[thread overview]
Message-ID: <492be08b$0$32676$9b4e6d93@newsspool2.arcor-online.net> (raw)
In-Reply-To: <8e021577-260a-44e1-b765-4d81f6ba89df@33g2000yqm.googlegroups.com>

Martin schrieb:

> You can't ever use 'Base on its own in Ada83.

The collection of multifocal arguments given
for or against 'Base, and/or GNAT, is, I guess,
multitargetting some other, ideas (that, frankly,
I find slightly elusive):

"the Base was a concept only not a usable attribute,
 which is also stated in book "Ada Problem  Solving and
 Program Design", 1990"  -- anon

However, 'Base can designate something very regular in
"Ada 83 mode",  it is not "just a concept", at
least in sofar as this would imply "not in the language".
(I don't have a copy of Mike Feldman's book, which anon
has been referencing in its enterity, so I can't check,
but I' guess that the author has not spun that many
arguments on loosly related issues around 'Base.)


As you point out, 'Base *is* an attribute (and nothing else)
in Ada 83, with a restriction on where and how to use it.
'Base can be applied to record type names in suitable context.

Other constructs of current and past editions of Ada
have similar restrictions, haven't they?

So here are two uses of 'Base.  The unit compiles fine,
it seems.

generic
   type N is (<>);
package U is

   type T (Len: Integer) is private ;
   type Count is new N range 0 .. N'Base'Last;  -- 'BASE

   function "=" ( Left, Right :  Count) return Boolean ;


private
   type T (Len: Integer) is record
      null;
   end record;

   X: T (Len => T'Base'Size) ; -- 'BASE, TOO
end U ;


A sequence of attributes is still part of Ada, so their
sequencing is not just Ada 83.



  reply	other threads:[~2008-11-25 11:24 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-15  9:16 Extending discriminant types Stefan Bellon
2008-11-15 18:50 ` Jeffrey R. Carter
2008-11-17 16:30 ` Adam Beneschan
2008-11-18 11:02   ` christoph.grein
2008-11-18 23:24     ` Adam Beneschan
2008-11-19  9:49 ` anon
2008-11-19 10:15   ` christoph.grein
2008-11-19 19:19     ` Georg Bauhaus
2008-11-19 11:38   ` Martin
2008-11-20  7:21   ` anon
2008-11-20  8:30     ` christoph.grein
2008-11-20  8:36       ` Ludovic Brenta
2008-11-20 11:45         ` Georg Bauhaus
2008-11-20 11:46           ` Georg Bauhaus
2008-11-20 23:01             ` anon
2008-11-21 11:54               ` Ludovic Brenta
2008-11-20 14:03           ` Dmitry A. Kazakov
2008-11-20 15:03           ` Robert A Duff
2008-11-20 15:57             ` Stefan Bellon
2008-11-21  0:32               ` Adam Beneschan
2008-11-20 16:11           ` Adam Beneschan
2008-11-20 22:59       ` anon
2008-11-21  0:29         ` Adam Beneschan
2008-11-21  7:25           ` anon
2008-11-21  9:19             ` Jean-Pierre Rosen
2008-11-21 10:11             ` christoph.grein
2008-11-21 12:00             ` Ludovic Brenta
2008-11-21 22:31               ` anon
2008-11-22  0:18                 ` Stefan Bellon
2008-11-23  4:06                   ` anon
2008-11-23  5:39                     ` Georg Bauhaus
2008-11-23  8:00                       ` anon
2008-11-24 10:08                         ` Georg Bauhaus
2008-11-24 22:16                           ` anon
2008-11-25 10:37                             ` Martin
2008-11-25 11:24                               ` Georg Bauhaus [this message]
2008-11-25 20:49                                 ` Jeffrey R. Carter
2008-11-25 21:01                                   ` Adam Beneschan
2008-11-25 22:09                                     ` Georg Bauhaus
2008-11-25 22:33                                       ` Jeffrey R. Carter
2008-11-26  0:58                                         ` Adam Beneschan
2008-11-26  1:45                                           ` Jeffrey R. Carter
2008-11-26  9:31                                             ` Martin
2008-11-26  9:38                                               ` Stefan Bellon
2008-11-26  9:48                                                 ` Martin
2008-11-26 10:16                                                   ` Stefan Bellon
2008-11-26 11:05                                                     ` Ludovic Brenta
2008-11-26 11:33                                                       ` Stefan Bellon
2008-11-26 15:49                                                       ` Adam Beneschan
2008-11-26 16:15                                                         ` Ludovic Brenta
2008-11-26 11:10                                                 ` Niklas Holsti
2008-11-23  8:48                     ` Compiler quality (was: Extending discriminant types) Ludovic Brenta
2008-11-24 23:33                       ` anon
2008-11-25  6:54                         ` christoph.grein
2008-11-25 10:01                         ` Ludovic Brenta
2008-11-26 23:34                           ` anon
2008-11-27 10:24                             ` Compiler quality Georg Bauhaus
2008-11-27 14:46                               ` Ludovic Brenta
2008-11-28  9:13                                 ` Martin
2008-11-28 10:28                                   ` Georg Bauhaus
2008-12-02  3:51                                     ` Randy Brukardt
2008-11-22 13:10                 ` Extending discriminant types Gautier
2008-11-24  8:24                 ` christoph.grein
2008-11-21  6:11         ` christoph.grein
2008-11-21 21:12           ` Jeffrey R. Carter
2008-11-22 16:41             ` sjw
2008-11-21 11:44         ` Martin
2008-11-20  9:55     ` Martin
replies disabled

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