From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Gnat GPL 2010 available soon (conditional expressions)
Date: Tue, 6 Jul 2010 19:18:04 +0200
Date: 2010-07-06T19:18:02+02:00 [thread overview]
Message-ID: <4payn5nzd163$.8nb20d9btack.dlg@40tude.net> (raw)
In-Reply-To: 87dfe70c-fd5b-4b76-8e37-b38539826502@y11g2000yqm.googlegroups.com
On Tue, 6 Jul 2010 09:31:05 -0700 (PDT), Phil Clayton wrote:
> The concept of an order is important because the function F could have
> side effects in the above example (though I would not advocate that as
> good practice).
AFAIK, presently the order is not defined. So though this is legal
X : String (1..80) := (others => Character'Read (Stream'Access));
It is not a good idea.
> However, we would be able to write
>
> (for I in reverse A'Range => A(I))
>
> to represent the reverse of the array A is perhaps a little confusing.
The effect is undefined. Theoretically the compiler could initialize array
elements concurrently on a multi-core processor.
> Also, it really only makes sense to have one variable holding the
> array index. For example, if we could write
>
> (I, J : 1 .. 5 => ...)
>
> surely I and J would always be equal: there are only 5 elements in the
> array. Having
>
> (for I in 1 .. 5 => ...)
>
> syntactically rules out multiple variables.
Yes, but many other things as well. However I prefer an absolutely
different approach anyway, e.g. proper index types. In my world a diagonal
would be initialized like:
(Diagonal (5, 5) => 1.0, others => 0.0)
where Diagonal is a proper function.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2010-07-06 17:18 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-16 20:14 Gnat GPL 2010 available soon Stephen Sangwine
2010-06-16 21:24 ` Martin
2010-06-16 21:35 ` Simon Wright
2010-06-18 19:48 ` Albrecht Käfer
2010-06-26 12:04 ` lekktu
2010-06-26 21:04 ` anon
2010-06-26 21:41 ` lekktu
2010-06-27 3:33 ` anon
2010-06-27 10:49 ` lekktu
2010-06-26 21:42 ` Dmitry A. Kazakov
2010-06-26 22:01 ` lekktu
2010-06-27 8:04 ` Gnat GPL 2010 available soon (conditional expressions) Georg Bauhaus
2010-06-27 8:37 ` Dmitry A. Kazakov
2010-06-27 10:55 ` lekktu
2010-06-27 12:12 ` Dmitry A. Kazakov
2010-06-27 13:42 ` Georg Bauhaus
2010-06-27 14:35 ` Peter C. Chapin
2010-06-27 16:53 ` Dmitry A. Kazakov
2010-06-28 11:24 ` Peter C. Chapin
[not found] ` <oizwym2afwmx.1jm5tt7wtpm7v.dlg@40tude.net>
2010-06-28 14:47 ` Georg Bauhaus
2010-06-28 16:36 ` Dmitry A. Kazakov
2010-06-28 17:04 ` Georg Bauhaus
2010-06-28 17:37 ` Dmitry A. Kazakov
2010-06-29 19:28 ` Randy Brukardt
2010-06-30 1:19 ` BrianG
2010-06-30 3:21 ` Britt Snodgrass
2010-07-05 1:27 ` Phil Clayton
2010-07-05 10:26 ` Georg Bauhaus
2010-07-05 14:24 ` Phil Clayton
2010-07-05 13:12 ` Dmitry A. Kazakov
2010-07-05 22:47 ` Phil Clayton
2010-07-06 7:36 ` Dmitry A. Kazakov
2010-07-06 9:13 ` Georg Bauhaus
2010-07-06 16:31 ` Phil Clayton
2010-07-06 17:18 ` Dmitry A. Kazakov [this message]
2010-07-07 12:00 ` Phil Clayton
2010-07-07 13:39 ` Dmitry A. Kazakov
2010-06-30 4:13 ` Gautier write-only
2010-06-30 16:46 ` Warren
2010-06-30 4:09 ` Gautier write-only
2010-06-30 23:20 ` Peter C. Chapin
2010-06-27 21:40 ` Gnat GPL 2010 available soon mahdert
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox