comp.lang.ada
 help / color / mirror / Atom feed
From: "Nick Roberts" <Nick.Roberts@dial.pipex.com>
Subject: Re: should I be interested in ada?
Date: 1999/02/18
Date: 1999-02-18T00:00:00+00:00	[thread overview]
Message-ID: <7ahkn0$kab$1@plug.news.pipex.net> (raw)
In-Reply-To: 36CC11A1.C7A71642@hercii.mar.lmco.com

Jerry Petrey wrote in message <36CC11A1.C7A71642@hercii.mar.lmco.com>...
[...]
|> Fortran's array facilities as an example, in Fortran one can put:
|>
|>    real, dimension (1:10) :: x
|>    ...
|>    x = 1.0
|>
|> setting all the elements of x to 1.0 (a 'broadcast scalar'), whereas in
Ada
|> to do the same thing, you must code something like:
|>
|>    X: array (1..10) of Float;
|>    ...
|>    for i in X'Range loop X(i) := 1.0; end loop;
|
|
|I think using an aggregate would be much better than a loop:
|
|X := (1 .. 10 => 1.0);


Precisely right, of course.

Also, Fortran's 'index vector' feature, e.g.:

   x = 0.0
   x( (/ 2, 7, 1, 4, 9 /) ) = b+0.5

can sometimes be directly emulated fairly easily by an Ada aggregate:

   X := (2|7|1|4|9 => B+0.5, others => 0.0);

and any other index vector operations, e.g.:

   x(  (/ 2, 7, 1, 4, 9 /) ) = x( (/ 8, 10, 3, 5, 6 /) )

can be easily done in Ada, using one or two utility procedures or functions,
e.g.:

   type Selection is array (Positive range <>) of Integer;
   ...
   function Extract (V: in Vector; S: in Selection) return Vector is
      Result: Vector(S'Range);
   begin
      for i in S'Range loop Result(i) := V(S(i)); end loop;
      return Result;
   end;

   procedure Insert (Object: in out Vector; Which: in Selection; Value: in
Vector) is
   begin
      for i in Which'Range loop
         Object(Which(i)) := Value(i);
      end loop;
   end;

and then a call such as:

   Insert(X, (2, 7, 1, 4, 9), Extract(X, (8, 10, 3, 5, 6)));

Having built your 'helper' functions and procedures, there really is nothing
in Fortran that cannot be done almost as easily (and as, or almost as,
efficiently) in Ada. My examples have been in terms of array facilities, but
the principle applies to everything else in Fortran.

So, hopefully, my original point stands.

-------------------------------------
Nick Roberts

'The time has come,' the Walrus said,
  'To talk of many things:
Of shoes--of ships--and sealing wax--
  Of cabbages--and kings--
And why the sea is boiling hot--
  And whether pigs have wings.'
                        Lewis Carroll
          "Through the Looking Glass"
-------------------------------------










  parent reply	other threads:[~1999-02-18  0:00 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-02-14  0:00 should I be interested in ada? Phillip Helbig
1999-02-15  0:00 ` Marin David Condic
1999-02-23  0:00   ` David Starner
1999-02-15  0:00 ` Gautier
1999-02-16  0:00 ` Ken Thomas
1999-02-17  0:00   ` Nick Roberts
1999-02-18  0:00     ` robert_dewar
1999-02-18  0:00       ` Nick Roberts
1999-02-18  0:00         ` William Clodius
1999-02-18  0:00           ` robert_dewar
1999-02-19  0:00             ` William Clodius
1999-02-19  0:00               ` Nick Roberts
1999-02-20  0:00                 ` robert_dewar
1999-02-22  0:00                   ` Nick Roberts
1999-02-22  0:00                     ` William Clodius
1999-02-23  0:00                     ` robert_dewar
1999-02-23  0:00                       ` Nick Roberts
1999-02-22  0:00                 ` William Clodius
1999-02-23  0:00                   ` Nick Roberts
1999-02-23  0:00                     ` William Clodius
1999-02-25  0:00                       ` Nick Roberts
1999-02-25  0:00                         ` robert_dewar
1999-02-23  0:00               ` Robert I. Eachus
1999-02-24  0:00                 ` Nick Roberts
1999-02-26  0:00                   ` Robert A Duff
1999-02-27  0:00                     ` Semantic info pragmas (was: should I be interested in ada?) Nick Roberts
1999-03-01  0:00                       ` Samuel Tardieu
1999-03-01  0:00                         ` Robert A Duff
1999-02-24  0:00                 ` should I be interested in ada? William Clodius
1999-02-24  0:00               ` William Clodius
1999-02-25  0:00                 ` Nick Roberts
1999-02-25  0:00                   ` robert_dewar
1999-02-26  0:00                     ` Nick Roberts
1999-02-18  0:00           ` nabbasi
1999-02-18  0:00             ` robert_dewar
1999-02-18  0:00         ` Jerry Petrey
1999-02-18  0:00           ` fraser
1999-02-19  0:00             ` Matthew Heaney
1999-02-20  0:00               ` fraser
1999-02-18  0:00           ` Nick Roberts [this message]
1999-02-18  0:00             ` Joel Seidman
1999-02-18  0:00             ` Dan Nagle
1999-02-18  0:00               ` nabbasi
1999-02-19  0:00               ` Nick Roberts
1999-02-19  0:00                 ` robert_dewar
1999-02-19  0:00                   ` Nick Roberts
1999-02-19  0:00                     ` robert_dewar
1999-02-21  0:00                       ` William Clodius
1999-02-23  0:00                         ` Robert I. Eachus
1999-02-19  0:00                     ` William Clodius
1999-02-20  0:00                       ` Nick Roberts
1999-02-21  0:00                         ` robert_dewar
1999-02-21  0:00                           ` William Clodius
1999-02-22  0:00                           ` Nick Roberts
1999-02-19  0:00                 ` Dan Nagle
1999-02-19  0:00                   ` robert_dewar
1999-02-19  0:00                     ` Dan Nagle
1999-02-19  0:00                     ` Nick Roberts
1999-02-23  0:00                     ` Peter Hermann
1999-02-18  0:00         ` robert_dewar
1999-02-19  0:00           ` Nick Roberts
1999-02-19  0:00             ` robert_dewar
1999-02-19  0:00               ` William Clodius
1999-02-19  0:00               ` Nick Roberts
1999-02-20  0:00                 ` robert_dewar
1999-02-20  0:00                   ` Steve Doiel
1999-02-20  0:00                 ` robert_dewar
1999-02-22  0:00                   ` dennison
1999-02-22  0:00                   ` Nick Roberts
1999-02-23  0:00                     ` Robert I. Eachus
1999-02-24  0:00                       ` White rabbit (was: should I be interested in ada?) dennison
1999-02-25  0:00                       ` Alice books " JP Thornley
1999-02-25  0:00                         ` Robert I. Eachus
1999-02-19  0:00               ` should I be interested in ada? dennison
1999-02-19  0:00                 ` Nick Roberts
1999-02-20  0:00                   ` robert_dewar
1999-02-22  0:00                     ` Nick Roberts
1999-02-19  0:00                 ` William Clodius
1999-02-19  0:00                 ` robert_dewar
1999-02-19  0:00               ` Phillip Helbig
1999-02-18  0:00     ` robert_dewar
1999-02-18  0:00       ` Nick Roberts
1999-02-18  0:00         ` William Clodius
1999-02-18  0:00           ` dennison
1999-02-20  0:00 ` Hartmut H. Schaefer
1999-02-20  0:00   ` bill
1999-02-21  0:00     ` dewar
1999-02-21  0:00   ` dewar
1999-02-22  0:00     ` dennison
replies disabled

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