From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: Q: type ... is new String
Date: Mon, 04 Jun 2012 22:28:29 +0200
Date: 2012-06-04T22:28:29+02:00 [thread overview]
Message-ID: <op.wfea5rjkule2fv@douda-yannick> (raw)
In-Reply-To: zsk0ul695neq.184hx8ckz554b$.dlg@40tude.net
Le Mon, 04 Jun 2012 19:05:18 +0200, Dmitry A. Kazakov
<mailbox@dmitry-kazakov.de> a écrit:
>> This may be a consequence of the attitude in the web,
>> which does not normally use "type" at all. Not at the level of
>> system integration, where it matters. The AI job, then, is to look
>> at the forms and try to make sense, even when things are malformed.
>> REJECT is not an option.
>
> Yes, this is a consequence of a misconception.
At least HTML5 addresses this, as it specifies malformed input handling.
> Note that *exactly* same
> misconception is behind dynamic preconditions of Eiffel now unfortunately
> introduced in Ada 2012.
There's nothing wrong with it, and it does not betray Ada's spirit, as it
helps to catch errors as much soon as possible. When an error is not (or
cannot be) caught at compile time, that's still better to catch it the
sooner at runtime, rather than after a long chain of consequences which
hides the error origination. That's what dynamic check of contracts is
for. After all, we have runtime range‑check, since Ada's birth, which is
similar.
I don't understand your frequent griefs against runtime check of
contracts. Anyway, this does not prevent anyone to statically prove a
program with SPARK (or may be Coq) if one is able to. If you can't, you
just still have the option of runtime checking contracts, which is better
than nothing.
--
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University
next prev parent reply other threads:[~2012-06-04 20:29 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-30 16:33 Q: type ... is new String tmoran
2012-05-30 17:04 ` Dmitry A. Kazakov
2012-05-31 7:37 ` Maciej Sobczak
2012-06-04 5:58 ` Yannick Duchêne (Hibou57)
2012-06-04 6:30 ` J-P. Rosen
2012-06-04 7:48 ` Yannick Duchêne (Hibou57)
2012-06-04 8:03 ` Dmitry A. Kazakov
2012-06-04 8:14 ` Yannick Duchêne (Hibou57)
2012-06-04 9:09 ` Dmitry A. Kazakov
2012-06-04 10:35 ` J-P. Rosen
2012-06-04 5:43 ` Yannick Duchêne (Hibou57)
2012-06-04 11:39 ` Brian Drummond
2012-06-04 13:36 ` Maciej Sobczak
2012-06-04 14:58 ` Georg Bauhaus
2012-06-04 15:14 ` Dmitry A. Kazakov
2012-06-04 16:06 ` Georg Bauhaus
2012-06-04 17:05 ` Dmitry A. Kazakov
2012-06-04 20:28 ` Yannick Duchêne (Hibou57) [this message]
2012-06-04 20:56 ` Georg Bauhaus
2012-06-05 7:32 ` Dmitry A. Kazakov
2012-06-05 8:40 ` Georg Bauhaus
2012-06-05 9:06 ` Dmitry A. Kazakov
2012-06-05 12:20 ` Georg Bauhaus
2012-06-05 13:14 ` Dmitry A. Kazakov
2012-06-06 4:09 ` Shark8
2012-06-06 8:52 ` Georg Bauhaus
2012-06-06 23:56 ` Randy Brukardt
2012-06-07 11:15 ` Georg Bauhaus
2012-06-06 23:51 ` Randy Brukardt
2012-06-04 20:33 ` Yannick Duchêne (Hibou57)
2012-06-04 21:27 ` Georg Bauhaus
[not found] ` <m9kqs7hgii13e220b1phm46n43d92tu1pj@invalid.netcom.com>
2012-06-05 6:15 ` Georg Bauhaus
2012-06-05 6:36 ` Yannick Duchêne (Hibou57)
2012-06-06 4:14 ` Shark8
2012-06-07 0:01 ` Randy Brukardt
2012-06-07 0:20 ` Adam Beneschan
2012-06-05 12:05 ` Brian Drummond
2012-06-05 14:43 ` Yannick Duchêne (Hibou57)
2012-06-04 15:54 ` Shark8
2012-06-04 22:01 ` Jeffrey Carter
2012-06-05 12:10 ` Brian Drummond
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox