From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: function Is_Open (File : File_Type) return Boolean; :Text_io
Date: Thu, 29 Oct 2015 15:00:25 +0100
Date: 2015-10-29T15:00:25+01:00 [thread overview]
Message-ID: <19ihs115mzocg$.20s63jo0q2gf.dlg@40tude.net> (raw)
In-Reply-To: n0t0t1$56e$1@dont-email.me
On Thu, 29 Oct 2015 12:47:48 +0100, G.B. wrote:
> On 28.10.15 19:20, Dmitry A. Kazakov wrote:
>>> >If the assumptions are correct, but the compiler cannot determine
>>> >their truth, should we hide the assumptions?
>> As hide from the compiler? Certainly so! If as you said the compiler has no
>> idea what your assumption is supposed to mean, how can it generate a useful
>> code?
>
> You mean, contract code needs to add value to *executables*
> other than run-time tests?
I mean that something unknown is, well, unknown.
> I think the biggest misunderstanding here is in asking for
> contracts to be considered just expressions, and then analyzing
> them like they were *meant* to be ordinary expressions.
Yes. Contracts may have no effect on program execution. Consider this:
program describes execution
contract describes program(s)
documentation describes anything
> Even so, I think that an implementation of Ada could "outsource"
> assertion checking to some read-only copy of the program that
> is running on a twin processor, suitably connected, so as to
> reduce run-time effects of assertion checking.
We discussed that earlier. You can have program A asserting program B. You
never can do this in a single program. That is inconsistent.
Any execution effects of A are not of B. Thus, as before, assertion has no
run-time effect on B. Nothing changed.
When you put A into B, that is automatically broken.
>> If you force it, it generates garbage, which the semantics of dynamic
>> predicates is, a garbage.
>
> No, the compiler will be effecting the computation of a result
> that does not need to be computed because we know it is true.
Either the program raises exception or it does not.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2015-10-29 14:00 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-26 10:00 function Is_Open (File : File_Type) return Boolean; :Text_io comicfanzine
2015-10-26 11:27 ` Simon Wright
2015-10-26 13:25 ` comicfanzine
2015-10-26 18:01 ` Simon Wright
2015-10-26 19:03 ` AdaMagica
2015-10-27 11:30 ` Simon Wright
2015-10-26 18:02 ` Jeffrey R. Carter
2015-10-26 13:28 ` comicfanzine
2015-10-26 15:07 ` Jacob Sparre Andersen
2015-10-26 16:37 ` AdaMagica
2015-10-26 20:46 ` J-P. Rosen
2015-10-27 8:42 ` comicfanzine
2015-10-27 11:34 ` Simon Wright
2015-10-28 13:32 ` comicfanzine
2015-10-27 8:51 ` comicfanzine
2015-10-27 17:15 ` Jeffrey R. Carter
2015-10-26 22:48 ` Bob Duff
2015-10-27 8:30 ` Dmitry A. Kazakov
2015-10-27 13:30 ` Bob Duff
2015-10-27 14:00 ` G.B.
2015-10-27 15:26 ` Dmitry A. Kazakov
2015-10-27 16:43 ` G.B.
2015-10-27 20:04 ` Dmitry A. Kazakov
2015-10-28 11:06 ` Georg Bauhaus
2015-10-28 17:58 ` Randy Brukardt
2015-10-28 18:20 ` Dmitry A. Kazakov
2015-10-28 20:36 ` Bob Duff
2015-10-28 21:02 ` Dmitry A. Kazakov
2015-10-29 11:25 ` AdaMagica
2015-10-29 13:37 ` Dmitry A. Kazakov
2015-10-29 17:57 ` AdaMagica
2015-10-29 18:12 ` AdaMagica
2015-10-29 18:26 ` Dmitry A. Kazakov
2015-10-30 8:27 ` Jacob Sparre Andersen
2015-10-30 9:11 ` J-P. Rosen
2015-10-29 11:47 ` G.B.
2015-10-29 13:01 ` J-P. Rosen
2015-10-29 14:00 ` Dmitry A. Kazakov [this message]
2015-10-30 1:06 ` Georg Bauhaus
2015-10-30 8:39 ` Dmitry A. Kazakov
2015-10-30 14:32 ` G.B.
2015-10-30 16:20 ` Dmitry A. Kazakov
2015-10-30 19:07 ` G.B.
2015-10-31 9:31 ` Dmitry A. Kazakov
2015-10-31 11:17 ` Georg Bauhaus
2015-10-30 14:40 ` G.B.
2015-10-30 16:26 ` Dmitry A. Kazakov
2015-10-28 20:07 ` Bob Duff
2015-10-28 20:59 ` Dmitry A. Kazakov
2015-10-27 14:02 ` G.B.
2015-10-27 15:10 ` Dmitry A. Kazakov
2015-10-27 16:41 ` G.B.
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox