From: Jacob Sparre Andersen <sparre@nbi.dk>
Subject: Language checks (Was: C++0x and Threads - a poor relation to Ada's tasking model?)
Date: 14 Aug 2009 13:24:09 +0200
Date: 2009-08-14T13:24:09+02:00 [thread overview]
Message-ID: <874osar63q.fsf_-_@jspa-nykredit.sparre-andersen.dk> (raw)
In-Reply-To: 1376nmezwawim.1mqgiaglsrvwe.dlg@40tude.net
Dmitry A. Kazakov wrote:
> 1. These checks must be there, else the program is wrong
> 2. The language is wrong not allowing programmer to design these checks
> static [*]
>
> When it is neither 1 nor 2, then it is something which we can prove
> to be OK in our program, while the compiler cannot. Is a normal
> programmer that smart?
Probably not.
> -----------
> * Example in Ada. If you wanted to iterate two arrays at once, you could
> not eliminate index checks of one of them:
>
> for I in A'Range loop
> ... A (I) + B (I + B'First - A'First) ...
> -- No way to eliminate B index check
> end loop;
In your example we don't know if the index check on B is needed. An
alternative:
if B'Length >= A'Length then
for I in A'Range loop
... A (I) + B (I + B'First - A'First) ...
end loop;
else
...
end if;
Here a compiler should be able to figure out statically that there is
no need for an index check on B in the loob.
Greetings,
Jacob
--
�Later software patents have had a similar effect, they
force us to stand on each other's toes instead of on each
other's shoulders.� -- Per Abrahamsen
next prev parent reply other threads:[~2009-08-14 11:24 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-11 15:30 C++0x and Threads - a poor relation to Ada's tasking model? John McCabe
2009-08-11 20:51 ` Maciej Sobczak
2009-08-12 12:25 ` John McCabe
2009-08-12 14:51 ` Maciej Sobczak
2009-08-12 15:56 ` REH
2009-08-12 16:59 ` John McCabe
2009-08-12 17:21 ` REH
2009-08-12 20:41 ` Robert A Duff
2009-08-12 21:15 ` REH
2009-08-13 1:28 ` Randy Brukardt
2009-08-13 2:08 ` REH
2009-08-13 8:38 ` Pascal Obry
2009-08-13 8:57 ` Dmitry A. Kazakov
2009-08-13 11:32 ` Pascal Obry
2009-08-13 12:28 ` Dmitry A. Kazakov
2009-08-14 1:15 ` Brian Drummond
2009-08-14 11:24 ` Jacob Sparre Andersen [this message]
2009-08-14 12:01 ` Language checks (Was: C++0x and Threads - a poor relation to Ada's tasking model?) Dmitry A. Kazakov
2009-08-14 13:33 ` REH
2009-08-14 13:48 ` John McCabe
2009-08-14 14:51 ` John McCabe
2009-08-14 14:13 ` Dmitry A. Kazakov
2009-08-14 19:58 ` Language checks Robert A Duff
2009-08-15 0:10 ` Language checks (Was: C++0x and Threads - a poor relation to Ada's tasking model?) Randy Brukardt
2009-08-14 13:10 ` C++0x and Threads - a poor relation to Ada's tasking model? Gautier write-only
2009-08-14 13:16 ` REH
2009-08-12 21:24 ` REH
2009-08-13 13:51 ` John McCabe
2009-08-13 16:24 ` REH
2009-08-14 11:09 ` John McCabe
2009-08-14 13:00 ` REH
2009-08-14 14:30 ` John McCabe
2009-08-14 14:49 ` REH
2009-08-14 14:54 ` John McCabe
2009-08-14 15:35 ` REH
2009-08-14 18:43 ` Robert A Duff
2009-08-14 18:54 ` REH
2009-08-14 22:33 ` Robert A Duff
2009-08-15 1:15 ` REH
2009-08-15 14:24 ` Robert A Duff
2009-08-14 15:09 ` Hyman Rosen
2009-08-14 15:12 ` REH
2009-08-13 13:55 ` John McCabe
2009-08-13 16:45 ` REH
2009-08-14 11:14 ` John McCabe
2009-08-12 20:53 ` Maciej Sobczak
2009-08-11 23:53 ` jimmaureenrogers
2009-08-12 0:06 ` Jeffrey R. Carter
2009-08-12 7:26 ` Maciej Sobczak
2009-08-12 5:29 ` stefan-lucks
2009-08-12 15:00 ` Maciej Sobczak
2009-08-12 9:27 ` Ludovic Brenta
2009-08-12 15:14 ` Maciej Sobczak
2009-08-13 12:47 ` Peter C. Chapin
2009-08-13 13:57 ` John McCabe
2009-08-14 7:39 ` Maciej Sobczak
2009-08-14 11:13 ` John McCabe
2009-08-14 12:23 ` Dmitry A. Kazakov
2009-08-14 12:50 ` John McCabe
2009-08-14 13:50 ` Dmitry A. Kazakov
2009-08-14 13:58 ` Niklas Holsti
2009-08-14 14:17 ` Dmitry A. Kazakov
2009-08-14 22:25 ` Brian Drummond
2009-08-14 12:56 ` John McCabe
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox