From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: discriminant questions
Date: Thu, 29 Sep 2011 20:24:23 -0500
Date: 2011-09-29T20:24:23-05:00 [thread overview]
Message-ID: <j635o9$urr$1@munin.nbi.dk> (raw)
In-Reply-To: 1vb9afcggqs8b$.prrlzbnf51p$.dlg@40tude.net
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:1vb9afcggqs8b$.prrlzbnf51p$.dlg@40tude.net...
> On Thu, 29 Sep 2011 02:01:44 +0200, Georg Bauhaus wrote:
...
>> I'm not sure I understand.
>
> A for-loop consists of its body and its "header". In Ada you can define
> the
> body of such loop as whatever pleases you. But the loop header Ada fails
> to
> abstract it properly, e.g. as:
>
> for Index in Indicator-Set loop
Huh? That's exactly what Ada 2012 allows you to do - redefine the meaning of
the loop header. And you get two forms:
for Index in Indicator_Set loop -- Index is a cursor (or whatever index
type you like)
for Element of Indicator_Set loop -- Element represents each of the
elements of the set, no index needed (or provided). Element can be a
variable in some circumstances, so this form can be used to update the set
without any viisible use of indexes (cursors).
Someone of course has to define the "iterator type" and "iterator object"
which provides that, and those can do anything that fits into the pattern.
(One possibility that was discussed was iterating a construct-on-use data
structure.)
This is a powerful new abstraction for Ada, making it much easier to treat a
container in the same way as a primitive array type. (Array types also get
the new element syntax so there consistency with that.)
Randy.
next prev parent reply other threads:[~2011-09-30 1:24 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-17 16:30 discriminant questions ytomino
2011-09-17 17:19 ` Dmitry A. Kazakov
2011-09-17 17:46 ` ytomino
2011-09-17 19:41 ` Dmitry A. Kazakov
2011-09-17 22:55 ` ytomino
2011-09-18 8:50 ` Dmitry A. Kazakov
2011-09-18 10:54 ` ytomino
2011-09-18 11:35 ` Dmitry A. Kazakov
2011-09-18 12:41 ` ytomino
2011-09-18 13:17 ` Dmitry A. Kazakov
2011-09-18 16:22 ` ytomino
2011-09-18 16:32 ` ytomino
2011-09-18 18:15 ` Dmitry A. Kazakov
2011-09-18 23:44 ` ytomino
2011-09-19 7:27 ` Dmitry A. Kazakov
2011-09-18 14:43 ` Dmitry A. Kazakov
2011-09-18 16:46 ` Robert A Duff
2011-09-18 18:01 ` Dmitry A. Kazakov
2011-09-18 19:20 ` Maciej Sobczak
2011-09-19 7:39 ` Dmitry A. Kazakov
2011-09-19 20:00 ` Maciej Sobczak
2011-09-20 7:33 ` Dmitry A. Kazakov
2011-09-20 15:45 ` Maciej Sobczak
2011-09-20 16:48 ` Dmitry A. Kazakov
2011-09-20 20:19 ` Maciej Sobczak
2011-09-21 7:48 ` Dmitry A. Kazakov
2011-09-21 20:51 ` Maciej Sobczak
2011-09-22 8:07 ` Dmitry A. Kazakov
2011-09-22 20:57 ` Maciej Sobczak
2011-09-23 7:59 ` Dmitry A. Kazakov
2011-09-23 10:57 ` Georg Bauhaus
2011-09-23 22:30 ` Randy Brukardt
2011-09-23 22:50 ` Randy Brukardt
2011-09-24 6:46 ` Dmitry A. Kazakov
2011-09-26 22:48 ` Randy Brukardt
2011-09-27 8:10 ` Dmitry A. Kazakov
2011-09-27 10:18 ` Georg Bauhaus
2011-09-27 12:14 ` Dmitry A. Kazakov
2011-09-27 15:11 ` Georg Bauhaus
2011-09-27 15:38 ` Dmitry A. Kazakov
2011-09-27 18:06 ` Georg Bauhaus
2011-09-27 19:06 ` Dmitry A. Kazakov
2011-09-29 0:01 ` Georg Bauhaus
2011-09-29 8:26 ` Dmitry A. Kazakov
2011-09-30 1:24 ` Randy Brukardt [this message]
2011-09-30 8:10 ` Dmitry A. Kazakov
2011-09-30 10:07 ` Georg Bauhaus
2011-09-30 12:38 ` Dmitry A. Kazakov
2011-09-30 17:40 ` Georg Bauhaus
2011-09-30 18:55 ` Dmitry A. Kazakov
2011-09-23 9:23 ` Stephen Leake
2011-09-23 9:48 ` Dmitry A. Kazakov
2011-09-23 22:42 ` Randy Brukardt
2011-09-24 6:56 ` Dmitry A. Kazakov
2011-09-26 22:43 ` Randy Brukardt
2011-09-24 10:47 ` Stephen Leake
2011-09-24 12:54 ` Simon Wright
2011-09-24 14:46 ` Dmitry A. Kazakov
2011-09-24 16:21 ` Simon Wright
2011-09-24 16:43 ` Dmitry A. Kazakov
2011-09-22 2:52 ` Randy Brukardt
2011-09-22 8:11 ` Dmitry A. Kazakov
2011-09-20 0:01 ` Randy Brukardt
2011-09-20 7:38 ` Dmitry A. Kazakov
2011-09-20 11:11 ` AdaMagica
2011-09-20 12:09 ` Dmitry A. Kazakov
2011-09-20 12:31 ` AdaMagica
2011-09-20 12:57 ` Dmitry A. Kazakov
2011-09-20 23:28 ` ytomino
2011-09-21 5:03 ` AdaMagica
2011-09-21 8:08 ` Dmitry A. Kazakov
2011-09-21 10:03 ` Georg Bauhaus
2011-09-21 10:29 ` Dmitry A. Kazakov
2011-09-22 3:21 ` Randy Brukardt
2011-09-22 3:05 ` Randy Brukardt
2011-09-19 23:35 ` Randy Brukardt
2011-09-20 21:39 ` ytomino
2011-09-22 3:32 ` Randy Brukardt
2011-09-18 16:32 ` ytomino
2011-09-19 14:46 ` ytomino
2011-09-19 15:14 ` Dmitry A. Kazakov
2011-09-19 17:49 ` ytomino
2011-09-20 7:29 ` Georg Bauhaus
2011-09-20 19:50 ` ytomino
2011-09-20 8:08 ` Dmitry A. Kazakov
2011-09-20 18:47 ` ytomino
2011-09-21 8:16 ` Dmitry A. Kazakov
2011-09-21 9:55 ` ytomino
2011-09-22 3:26 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox