comp.lang.ada
 help / color / mirror / Atom feed
From: Warren <ve3wwg@gmail.com>
Subject: Re: Why is Ada considered  "too specialized" for scientific use
Date: Mon, 5 Apr 2010 20:28:24 +0000 (UTC)
Date: 2010-04-05T20:28:24+00:00	[thread overview]
Message-ID: <Xns9D51A793AA1CBWarrensBlatherings@188.40.43.213> (raw)
In-Reply-To: hpddc6$csh$1@speranza.aioe.org

Nasser M. Abbasi expounded in news:hpddc6$csh$1@speranza.aioe.org:

>> I am making big use of these containers in the rewrite of
>> my basic interpreter project. >
> 
> I looked at the Ada 2005 LRM, Containers.Vectors for example, and And
> I have small question
> 
> http://www.adaic.org/standards/05rm/html/RM-A-18-2.html
> 
> Given this below
> 
> function Element (Container : Vector;
>                   Index     : Index_Type)
>    return Element_Type;
> 
> 
> Then to get the element at index 5, one needs to write something like 
> Element(V,5).
> 
> Is there a way to redefine this so one need to only write V(5) ?

You could use V.Element(5), but that doesn't really
shorten the notation.

You could declare an internal function for that purpose, though
there are probably better solutions:

procedure My_Proc(args...) is

   package P is new Ada.Containers.Vector(...);
   V : P.Vector;

   Function XV(X : Index_Type) returns Element_Type is
   begin
      return V.Element(X);
   end;
begin
   ... := XV(5);

Note however (as I found out, snickers), you can't use the
V.Element() notation when the input value is a cursor. That
kept tripping me up until I clued in-- the cursor specifies
both the container and position internally. So you must use
Element(Csr) form of the call instead, for cursor values.

> because If I have large equations, it is more clear to write V(i) than
> Element(V,i) everywhere? Did you find this "longer" syntax an issue
> for you? 

Not really, because when you deal with several containers (Maps mostly
in my case), I tend to spell out the full package heirarchy anyway 
for clarity and to avoid hiding caused by "use".

One thing I did do however, was create a SimpMap package that
took care of all of the compare function definitions for me.
I got real tired of redeclaring equality functions for every
new integer/modular type involved.

> I have not used Containers before. But the list of functions looks 
> impressive.
> 
> ps. is your interpreter project somewhere on the net to look at?
> 
> thanks,
> --Nasser

My Ada rewrite is still in the early stages, so it is not up on
SourceForge yet. If you want to experiment with the C version,
or look at the documentation, you can visit:

https://sourceforge.net/projects/bdbbasic

or for language and other documentation:

https://sourceforge.net/apps/mediawiki/bdbbasic/index.php?title=Main_Page

But if you email me directly, I can also send you the tar-balled 
Ada version of the project. You'll see a lot of container examples 
in it, which might be useful.

Warren



  reply	other threads:[~2010-04-05 20:28 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-04  4:46 Why is Ada considered "too specialized" for scientific use Nasser M. Abbasi
2010-04-04  5:30 ` J-P. Rosen
2010-04-06 15:04   ` Adam Beneschan
2010-04-04  7:10 ` Pascal Obry
2010-04-04 18:24 ` Charles H. Sampson
2010-04-06  9:52   ` Peter Hermann
2010-04-07 20:08   ` Denis McMahon
2010-04-04 20:53 ` Andrea Taverna
2010-04-13 20:31   ` Colin Paul Gloster
2010-04-14 16:00     ` Charles H. Sampson
2010-04-14 19:18       ` Colin Paul Gloster
2010-04-04 23:41 ` Jerry
2010-04-05  0:29   ` Nasser M. Abbasi
2010-04-05  9:09 ` mockturtle
2010-04-05 11:20   ` Dmitry A. Kazakov
2010-04-05 11:19 ` Georg Bauhaus
2010-04-05 16:44   ` Keith Thompson
2010-04-06 14:03     ` Georg Bauhaus
2010-04-06 16:39       ` Warren
2010-04-06 17:53         ` Sebastian Hanigk
2010-04-06 20:45           ` Warren
2010-04-07  9:17           ` MRE
2010-04-08 10:10           ` Ken Thomas
2010-04-08 16:40             ` Warren
2010-04-08 18:34               ` Georg Bauhaus
2010-04-08 20:13                 ` Charmed Snark
2010-04-06 19:53       ` J. Clarke
2010-04-06 21:37         ` Georg Bauhaus
2010-04-07  4:25           ` J. Clarke
2010-04-07  6:43             ` Georg Bauhaus
2010-04-07 12:53               ` J. Clarke
2010-04-07 16:19                 ` Georg Bauhaus
2010-04-07 17:05             ` Keith Thompson
2010-04-07 19:41               ` J. Clarke
2010-04-07  2:03       ` BrianG
2010-04-07  9:08         ` Georg Bauhaus
2010-04-08  0:20           ` BrianG
2010-04-08  2:29             ` Robert A Duff
2010-04-08  7:04             ` Georg Bauhaus
2010-04-14 21:34     ` Florian Weimer
2010-04-05 20:51   ` none
2010-04-06  1:18     ` robin
2010-04-06 12:00       ` Shmuel Metz
2010-04-06 15:30         ` robin
2010-04-06 23:44           ` Shmuel Metz
2010-04-14  9:32             ` robin
2010-04-14 12:12               ` J. Clarke
2010-04-14 15:20                 ` Dmitry A. Kazakov
2010-04-15  4:15                   ` J. Clarke
2010-04-15 10:04               ` Shmuel Metz
2010-04-15 15:10                 ` robin
2010-04-15 22:06                   ` Nomen Nescio
2010-04-16  0:02                   ` Shmuel Metz
2010-04-17  8:43                     ` robin
2010-04-18 17:15                       ` Shmuel Metz
2010-04-22  1:39                         ` robin
2010-04-22  9:59                           ` Shmuel Metz
2010-04-22 12:49                             ` Gary L. Scott
2010-04-22 13:20                             ` robin
2010-05-14 10:50                 ` robin
2010-05-16  1:23                   ` Shmuel Metz
2010-05-17  9:23                     ` robin
2010-05-17 10:05                       ` Shmuel Metz
2010-05-17 10:09                         ` robin
2010-05-17 15:57                         ` robin
2010-05-19 14:55                           ` Richard Harter
2010-04-07 19:27           ` Simon Wright
2010-04-08  2:01             ` robin
2010-04-08 15:27             ` Shmuel Metz
2010-04-14  9:27               ` robin
2010-04-15 10:02                 ` Shmuel Metz
2010-04-23  7:29                   ` robin
2010-04-23 16:14                     ` J. Clarke
2010-04-23 21:51                       ` Peter Flass
2010-04-23 23:25                         ` Sjouke Burry
2010-04-24  0:18                           ` Gary L. Scott
2010-04-24  1:05                             ` Richard Maine
2010-04-24  0:23                           ` Dick Hendrickson
2010-04-24  0:30                           ` glen herrmannsfeldt
2010-04-26 15:28                             ` Warren
2010-04-25  2:43                     ` Shmuel Metz
2010-04-16 11:04               ` sjw
2010-04-18 17:26                 ` Shmuel Metz
2010-06-05 10:58                 ` robin
2010-06-06  4:25                   ` Shmuel Metz
2010-06-06 14:53                     ` Arthur Evans Jr
2010-06-06 15:15                       ` J. Clarke
     [not found]                         ` <4c0cbc04$2$fuzhry+tra$mr2ice@news.patriot.net>
2010-06-07 13:23                           ` J. Clarke
2010-06-07 18:50                             ` George Orwell
2010-06-08  1:21                             ` Shmuel Metz
2010-06-08 12:26                         ` Peter Hermann
2010-06-06 17:10                       ` glen herrmannsfeldt
2010-06-06 19:17                         ` J. Clarke
2010-06-08  6:27                           ` James J. Weinkam
2010-06-08  7:13                             ` Georg Bauhaus
2010-06-08 10:43                               ` Peter Flass
2010-06-08 10:23                             ` Shmuel Metz
2010-06-08 12:03                             ` glen herrmannsfeldt
2010-06-07  9:39                         ` Shmuel Metz
2010-06-06 17:16                       ` Martin Krischik
2010-06-06 18:33                       ` Non scrivetemi
2010-06-06 15:12                     ` robin
2010-06-07  9:45                       ` Shmuel Metz
2010-06-08 11:10                         ` robin
2010-06-09 10:48                           ` Shmuel Metz
2010-06-09 23:59                             ` robin
2010-06-10 10:06                               ` Shmuel Metz
2010-06-10 10:52                                 ` robin
2010-06-10 13:49                                   ` Richard Harter
2010-06-06 15:19                     ` J. Clarke
2010-06-06 16:51                       ` Simon Wright
2010-06-06 17:51                         ` J. Clarke
2010-06-07  9:38                         ` robin
2010-06-08 10:07                           ` Shmuel Metz
2010-06-10 10:54                             ` robin
2010-06-07  9:41                         ` Shmuel Metz
2010-06-06 17:15                       ` Martin Krischik
2010-06-06 19:12                         ` J. Clarke
2010-06-06 20:39                           ` John B. Matthews
2010-06-07  0:17                             ` J. Clarke
2010-06-07  6:02                           ` Martin Krischik
2010-06-06 23:01                         ` Gib Bogle
2010-06-07  0:18                           ` J. Clarke
2010-06-07  5:34                             ` Martin Krischik
2010-06-07  9:48                               ` Shmuel Metz
2010-06-07 10:36                               ` Peter Flass
2010-06-07 16:18                                 ` Fritz Wuehler
2010-06-07 22:03                                   ` Peter Flass
2010-06-07 22:00                                     ` glen herrmannsfeldt
2010-06-08  1:16                                 ` Shmuel Metz
2010-06-07  5:31                           ` Martin Krischik
2010-06-07  6:15                         ` robin
2010-06-07 10:40                           ` Peter Flass
2010-06-07 12:35                             ` Yannick Duchêne (Hibou57)
2010-06-07 13:29                               ` J. Clarke
2010-06-07 21:04                                 ` Gib Bogle
2010-06-07 21:56                                 ` Peter Flass
2010-06-07 22:06                                   ` glen herrmannsfeldt
2010-06-08 10:11                                     ` Shmuel Metz
2010-06-08 10:01                                   ` Shmuel Metz
2010-06-08 11:16                                   ` robin
2010-06-08  1:22                                 ` Shmuel Metz
2010-06-07 14:35                               ` robin
2010-06-07 14:56                                 ` Yannick Duchêne (Hibou57)
2010-06-07 15:07                               ` Martin Krischik
2010-06-07 15:08                               ` Dick Hendrickson
2010-06-07 15:23                                 ` Yannick Duchêne (Hibou57)
2010-06-07 15:34                                   ` (see below)
2010-06-08  9:57                                     ` Shmuel Metz
2010-06-07 21:57                                 ` Peter Flass
2010-06-08 10:02                                   ` Shmuel Metz
2010-06-08  9:53                                 ` Shmuel Metz
2010-06-09 13:54                                   ` robin
2010-06-08 11:23                                 ` robin
2010-06-09 10:50                                   ` Shmuel Metz
2010-06-09 13:47                                     ` robin
     [not found]                                       ` <4c0fa318$1$fuzhry+tra$mr2ice@news.patriot.net>
2010-06-09 23:54                                         ` robin
2010-06-10 10:48                                           ` Non scrivetemi
2010-06-10 15:12                                             ` robin
     [not found]                                           ` <4c10b858$4$fuzhry+tra$mr2ice@news.patriot.net>
2010-06-10 10:59                                             ` robin
2010-06-07 12:50                             ` Robert AH Prins
2010-06-07 14:22                             ` Arthur Evans Jr
2010-06-07 21:07                               ` Gib Bogle
2010-06-08  9:54                               ` Shmuel Metz
2010-06-07 14:30                             ` robin
2010-06-08 10:14                               ` Shmuel Metz
2010-06-09 13:58                                 ` robin
2010-06-09 14:23                                   ` Shmuel Metz
2010-06-07 15:24                             ` Richard Harter
2010-06-07 21:05                               ` Wilson
2010-06-08  1:18                             ` Shmuel Metz
2010-06-07  9:32                       ` Shmuel Metz
2010-04-25 16:32       ` robin
2010-05-14 10:54     ` robin
2010-04-13 20:18   ` Colin Paul Gloster
2010-05-14 11:53     ` robin
2010-05-17 10:26       ` Colin Paul Gloster
2010-05-17 13:36         ` Dan Nagle
2010-04-05 17:33 ` Charmed Snark
2010-04-05 19:24   ` Nasser M. Abbasi
2010-04-05 20:28     ` Warren [this message]
2010-04-08 18:30       ` Alex Mentis
2010-04-06  0:38     ` Robert A Duff
2010-04-06  8:07       ` Maciej Sobczak
2010-04-06 21:55         ` Georg Bauhaus
2010-04-07  2:52           ` Nasser M. Abbasi
2010-04-07 20:07             ` Randy Brukardt
2010-04-07  7:28         ` Maciej Sobczak
2010-04-07  8:24           ` Dmitry A. Kazakov
2010-04-07 11:59             ` Maciej Sobczak
2010-04-07 13:44               ` Dmitry A. Kazakov
2010-04-07 20:21                 ` Maciej Sobczak
2010-04-08 11:53                   ` Dmitry A. Kazakov
2010-04-08 13:40 ` Vincent LAFAGE
2010-04-08 16:29   ` Georg Bauhaus
replies disabled

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