comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Real syntax problems in Ada
Date: Tue, 28 Aug 2012 17:23:42 +0200
Date: 2012-08-28T17:23:42+02:00	[thread overview]
Message-ID: <1xfc5a70g33xq.6o52bn9evjls$.dlg@40tude.net> (raw)
In-Reply-To: op.wjq6bmjmka8ora@aspire.local

On Tue, 28 Aug 2012 17:27:12 +0400, Vasiliy Molostov wrote:

>> 5. "X : T := E", but "procedure X is <body>";
> 
> Unclear what it is, but should we use the same for T, or how to express T  
> in this case?

There is an asymmetry in how objects of anonymous types are declared and
the subprograms are. E.g.

   X : array (1..3) of Integer := (others => 0);

a symmetric declaration of a procedure would be:

   X : procedure :=
      begin
         ...
      end X;

Not that I advocate for this particular syntax. I only note difference.

>> 6. Lack of per point notation for nD array aggregates, e.g.
>>    Diag : Matrix :=  ((1,1)=>1.0, (2,2)=>1.0, (3,3)=>1.0, others => 0.0);
> 
> Unclear, what is per point.

Using flat nD index additionally to the arrays of arrays of arrays ...
notation like:

   Diag : Matrix :=
       ( 1 => (1 => 1.0, others => 0.0),
         2 => (2 => 1.0, others => 0.0),
         3 => (3 => 1.0, others => 0.0));

>> 8. The order in which the keywords "new", "interface", "limited",
>> "abstract", "tagged", "private" may appear should be free.
> 
> Unclear. Example?

type T is abstract tagged limited null record; -- Only so

type T is abstract limited tagged null record; -- Illegal
type T is limited tagged abstract null record; -- Illegal
...

I bet very few would remember the proper order if asked unprepared. Luckily
GNAT would advise how to reorder the keywords in its error message.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2012-08-28 15:23 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-28  8:13 Real syntax problems in Ada Dmitry A. Kazakov
2012-08-28 10:20 ` Georg Bauhaus
2012-08-28 10:47 ` Niklas Holsti
2012-08-28 11:33   ` J-P. Rosen
2012-08-31 13:35     ` Robert A Duff
2012-08-28 13:27 ` Vasiliy Molostov
2012-08-28 15:23   ` Dmitry A. Kazakov [this message]
2012-08-28 20:18     ` Vasiliy Molostov
2012-08-29  7:25       ` Dmitry A. Kazakov
2012-08-29 10:47         ` Vasiliy Molostov
2012-08-29 11:58           ` Dmitry A. Kazakov
2012-08-30 17:38             ` Vasiliy Molostov
2012-08-28 15:14 ` Adam Beneschan
2012-08-28 16:18   ` J-P. Rosen
2012-08-28 16:39   ` Dmitry A. Kazakov
2012-08-28 21:38     ` Randy Brukardt
2012-08-29  6:58       ` Dmitry A. Kazakov
2012-08-29 10:43         ` stefan-lucks
2012-08-29 10:58           ` stefan-lucks
2012-08-29 13:14           ` Niklas Holsti
2012-08-29 17:52             ` stefan-lucks
     [not found]             ` <fbps38pgcuf8fgioptt39s6u7dme1aqs7r@invalid.netcom.com>
2012-09-02 10:16               ` svaa
2012-08-29 13:33           ` Georg Bauhaus
2012-08-29 17:20             ` Jeffrey Carter
2012-08-29 17:51             ` stefan-lucks
2012-08-30  9:12               ` Georg Bauhaus
2012-08-28 21:49   ` Randy Brukardt
2012-08-28 23:09     ` Adam Beneschan
2012-08-29  7:34     ` Egil Høvik
2012-08-28 19:41 ` Florian Weimer
2012-08-28 20:53   ` Shark8
2012-08-28 21:07     ` Adam Beneschan
2012-08-28 21:25       ` Shark8
2012-08-28 22:59         ` Adam Beneschan
2012-08-29  7:06       ` Dmitry A. Kazakov
2012-08-30 21:08         ` Randy Brukardt
2012-08-30 22:06 ` sbelmont700
2012-08-30 22:34   ` Adam Beneschan
2012-08-30 22:54     ` William Findlay
2012-08-31  7:39     ` Dmitry A. Kazakov
replies disabled

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