From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: Seeking for papers about tagged types vs access to subprograms
Date: Wed, 08 May 2013 13:08:48 +0200
Date: 2013-05-08T13:08:48+02:00 [thread overview]
Message-ID: <op.wwriky0dule2fv@cardamome> (raw)
In-Reply-To: cps71yzogw24$.7ol98fxcaurj$.dlg@40tude.net
Le Wed, 08 May 2013 12:23:06 +0200, Dmitry A. Kazakov
<mailbox@dmitry-kazakov.de> a écrit:
> On Wed, 08 May 2013 11:39:23 +0200, Yannick Duchêne (Hibou57) wrote:
>
>> But then, an example such as the above would present challenge with
>> derived types.
>
> That is the main question about parallel hierarchies: if you derive or
> constrain one type in the cloud, what happens with other types? Does this
> produce new types, related or unrelated, constrained or not.
I would say there is no general answer without additional informations
about what the whole means, and no language or its compiler can tell it in
place of the author (or else, you decide in place of the author, and are
back to what it actually is). And that additional informations is may be
what needs to be provided (and the basic type system, as it is actually,
does not allow it), ex. kind of basic axiomatization describing what the
relations must preserve for the whole to be valid. This axiomatization
could answer two questions, directly: is the system with its new
parameters still valid? indirectly: is the the new system compatible with
other similar systems or the one from which it is derived? Whether or not
this axiomatization would be sound, would be the author's responsibility
(that's why it should be simple, like based on basic relations on discrete
types and interfaces). Any way, lack of soundness may ends in failure to
check.
A basic idea (more easy to say than to do): reuse things like
pre/post/pragma‑assert, but whose purpose is to be statically checked (if
it's too complicated to be checked, it means it fails, and it is not
deferred to a run‑time check). The author would decide what he/she wish to
put in these. The language could impose some minimal constraints with base
predefined types (like it already do rather well) so there could be no way
to relax everything.
This may looks going too far, but I believe minimal axiomatization
(statically checked) would be nice; not necessarily to prove a program
(another story), but at least to ensure what it is based on (the types and
use of their instances) is valid in some regards. What the program would
do with it at runtime may be another story and still be a job for SPARK
and others (too much constraints here, would defeat any achievement).
Also to digress but still in some way related, more control on what can be
done of an instance of a type, toward restricting, permitting to deny the
use of some part of an interface, would help to make valid assertions (ex.
with my issue where I'm lacking a limited access type, if I could restrict
to limited access type, I could not only ensure no access is made to a
deallocated storage, but could even have some assertions about aliasing).
--
“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:[~2013-05-08 11:08 UTC|newest]
Thread overview: 202+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-28 5:14 Seeking for papers about tagged types vs access to subprograms Yannick Duchêne (Hibou57)
2013-04-30 0:31 ` Yannick Duchêne (Hibou57)
2013-04-30 0:41 ` Shark8
2013-04-30 1:00 ` Yannick Duchêne (Hibou57)
2013-05-02 1:18 ` Randy Brukardt
2013-05-02 2:29 ` Jeffrey Carter
2013-05-06 10:00 ` Yannick Duchêne (Hibou57)
2013-05-06 10:18 ` Dmitry A. Kazakov
2013-05-06 10:55 ` Yannick Duchêne (Hibou57)
2013-05-06 12:11 ` Dmitry A. Kazakov
2013-05-06 13:16 ` Yannick Duchêne (Hibou57)
2013-05-06 14:16 ` Dmitry A. Kazakov
2013-05-06 15:15 ` Yannick Duchêne (Hibou57)
2013-05-06 18:55 ` Dmitry A. Kazakov
2013-05-06 20:05 ` Adam Beneschan
2013-05-07 7:30 ` Dmitry A. Kazakov
2013-05-10 4:33 ` Yannick Duchêne (Hibou57)
2013-05-07 20:35 ` Jacob Sparre Andersen news
2013-05-07 20:44 ` Yannick Duchêne (Hibou57)
2013-05-07 22:32 ` Dennis Lee Bieber
2013-05-07 23:10 ` Adam Beneschan
2013-05-08 0:18 ` Shark8
2013-05-10 4:34 ` Yannick Duchêne (Hibou57)
2013-05-10 8:27 ` Simon Wright
2013-05-10 18:08 ` Niklas Holsti
2013-05-08 7:38 ` Dmitry A. Kazakov
2013-05-08 7:59 ` Yannick Duchêne (Hibou57)
2013-05-08 8:23 ` Dmitry A. Kazakov
2013-05-08 9:39 ` Yannick Duchêne (Hibou57)
2013-05-08 9:51 ` Yannick Duchêne (Hibou57)
2013-05-08 10:23 ` Dmitry A. Kazakov
2013-05-08 11:08 ` Yannick Duchêne (Hibou57) [this message]
2013-05-08 15:29 ` Dmitry A. Kazakov
2013-05-08 16:13 ` Yannick Duchêne (Hibou57)
2013-05-08 18:17 ` Dmitry A. Kazakov
2013-05-10 4:35 ` Yannick Duchêne (Hibou57)
2013-05-08 20:27 ` Randy Brukardt
2013-05-09 7:33 ` Dmitry A. Kazakov
2013-05-09 22:19 ` Randy Brukardt
2013-05-10 3:29 ` Yannick Duchêne (Hibou57)
2013-05-10 4:16 ` Yannick Duchêne (Hibou57)
2013-05-10 8:42 ` Dmitry A. Kazakov
2013-05-10 11:18 ` Yannick Duchêne (Hibou57)
2013-05-10 12:15 ` Dmitry A. Kazakov
2013-05-10 12:40 ` Yannick Duchêne (Hibou57)
2013-05-10 12:59 ` Yannick Duchêne (Hibou57)
2013-05-10 13:54 ` Dmitry A. Kazakov
2013-05-10 14:01 ` Yannick Duchêne (Hibou57)
2013-05-10 14:27 ` Dmitry A. Kazakov
2013-05-10 15:20 ` Yannick Duchêne (Hibou57)
2013-05-11 7:22 ` Georg Bauhaus
2013-05-10 18:04 ` Niklas Holsti
2013-05-10 19:33 ` Yannick Duchêne (Hibou57)
2013-05-11 0:18 ` Randy Brukardt
2013-05-11 7:14 ` Yannick Duchêne (Hibou57)
2013-05-11 21:06 ` Niklas Holsti
2013-05-11 23:19 ` Shark8
2013-05-12 6:09 ` Niklas Holsti
2013-05-14 2:02 ` Randy Brukardt
2013-05-12 6:44 ` Yannick Duchêne (Hibou57)
2013-05-12 8:10 ` Niklas Holsti
2013-05-12 8:49 ` Yannick Duchêne (Hibou57)
2013-05-12 18:56 ` Jeffrey Carter
2013-05-12 22:15 ` Robert A Duff
2013-05-13 0:26 ` Jeffrey Carter
2013-05-13 7:03 ` Yannick Duchêne (Hibou57)
2013-05-13 13:15 ` Robert A Duff
2013-05-13 17:30 ` Jeffrey Carter
2013-05-13 18:01 ` J-P. Rosen
2013-05-13 18:39 ` Bill Findlay
2013-05-13 18:57 ` Jeffrey Carter
2013-05-13 19:13 ` Robert A Duff
2013-05-13 20:38 ` J-P. Rosen
2013-05-14 7:26 ` Dmitry A. Kazakov
2013-05-14 20:00 ` Robert A Duff
2013-05-15 10:10 ` Dmitry A. Kazakov
2013-05-14 19:56 ` Robert A Duff
2013-05-15 4:24 ` Yannick Duchêne (Hibou57)
2013-05-15 9:28 ` Dmitry A. Kazakov
2013-05-15 11:31 ` Peter C. Chapin
2013-05-15 12:32 ` Yannick Duchêne (Hibou57)
2013-05-15 19:59 ` Peter C. Chapin
2013-05-15 20:56 ` Dmitry A. Kazakov
2013-05-15 12:46 ` Dmitry A. Kazakov
2013-05-15 18:15 ` Jeffrey Carter
2013-05-15 19:18 ` Eryndlia Mavourneen
2013-05-15 19:57 ` Dmitry A. Kazakov
2013-05-15 20:37 ` Yannick Duchêne (Hibou57)
2013-05-15 20:48 ` Dmitry A. Kazakov
2013-05-16 12:45 ` Eryndlia Mavourneen
2013-05-16 17:16 ` Jeffrey Carter
2013-05-16 9:41 ` G.B.
2013-05-16 12:35 ` J-P. Rosen
2013-05-15 14:21 ` J-P. Rosen
2013-05-14 2:14 ` Randy Brukardt
2013-05-14 19:35 ` Robert A Duff
2013-05-15 4:11 ` Yannick Duchêne (Hibou57)
2013-05-16 23:36 ` Randy Brukardt
2013-05-13 5:21 ` Niklas Holsti
2013-05-13 7:22 ` Dmitry A. Kazakov
2013-05-13 8:23 ` Yannick Duchêne (Hibou57)
2013-05-13 19:20 ` Niklas Holsti
2013-05-14 8:14 ` Dmitry A. Kazakov
2013-05-10 3:47 ` Yannick Duchêne (Hibou57)
2013-05-11 0:22 ` Randy Brukardt
2013-05-11 7:22 ` Yannick Duchêne (Hibou57)
2013-05-10 3:59 ` Yannick Duchêne (Hibou57)
2013-05-10 4:03 ` Yannick Duchêne (Hibou57)
2013-05-10 7:48 ` Dmitry A. Kazakov
2013-05-10 8:12 ` Yannick Duchêne (Hibou57)
2013-05-10 15:11 ` Yannick Duchêne (Hibou57)
2013-05-11 0:42 ` Randy Brukardt
2013-05-11 6:37 ` Dmitry A. Kazakov
2013-05-11 7:06 ` Georg Bauhaus
2013-05-11 7:42 ` Dmitry A. Kazakov
2013-05-11 8:14 ` Yannick Duchêne (Hibou57)
2013-05-14 2:29 ` Randy Brukardt
2013-05-14 7:44 ` Dmitry A. Kazakov
2013-05-14 11:34 ` Yannick Duchêne (Hibou57)
2013-05-14 12:16 ` Dmitry A. Kazakov
2013-05-14 13:13 ` Yannick Duchêne (Hibou57)
2013-05-14 18:41 ` Randy Brukardt
2013-05-15 11:20 ` Peter C. Chapin
2013-05-15 13:00 ` Dmitry A. Kazakov
2013-05-15 21:12 ` Peter C. Chapin
2013-05-15 22:08 ` Dmitry A. Kazakov
2013-05-16 11:31 ` Peter C. Chapin
2013-05-16 11:56 ` Yannick Duchêne (Hibou57)
2013-05-16 12:20 ` Dmitry A. Kazakov
2013-05-16 13:10 ` Peter C. Chapin
2013-05-16 13:54 ` Dmitry A. Kazakov
2013-05-16 17:15 ` G.B.
2013-05-16 18:09 ` Peter C. Chapin
2013-05-16 19:16 ` Dmitry A. Kazakov
2013-05-16 21:59 ` Georg Bauhaus
2013-05-17 19:57 ` Dmitry A. Kazakov
2013-05-16 21:20 ` Niklas Holsti
2013-05-16 23:20 ` Peter C. Chapin
2013-05-17 5:25 ` Niklas Holsti
2013-05-17 7:53 ` Georg Bauhaus
2013-05-16 13:09 ` Eryndlia Mavourneen
2013-05-11 7:58 ` Yannick Duchêne (Hibou57)
2013-05-11 9:08 ` Dmitry A. Kazakov
2013-05-11 18:14 ` Niklas Holsti
2013-05-11 8:03 ` Yannick Duchêne (Hibou57)
2013-05-11 9:16 ` Dmitry A. Kazakov
2013-05-11 11:49 ` Georg Bauhaus
2013-05-11 12:25 ` Dmitry A. Kazakov
2013-05-11 22:51 ` Robert A Duff
2013-05-12 6:02 ` Dmitry A. Kazakov
2013-05-12 6:25 ` Yannick Duchêne (Hibou57)
2013-05-12 7:14 ` Dmitry A. Kazakov
2013-05-12 7:37 ` Simon Wright
2013-05-12 7:59 ` Dmitry A. Kazakov
2013-05-12 8:21 ` Yannick Duchêne (Hibou57)
2013-05-12 9:25 ` Dmitry A. Kazakov
2013-05-12 9:32 ` Yannick Duchêne (Hibou57)
2013-05-12 10:07 ` Dmitry A. Kazakov
2013-05-11 7:32 ` Yannick Duchêne (Hibou57)
2013-05-11 7:46 ` Yannick Duchêne (Hibou57)
2013-05-14 12:46 ` Weaker typing as a part of the way to stronger typing? (Was: Seeking for papers about tagged types vs access to subprograms) Jacob Sparre Andersen
2013-05-14 19:08 ` Randy Brukardt
2013-05-10 16:02 ` Seeking for papers about tagged types vs access to subprograms Yannick Duchêne (Hibou57)
2013-05-08 20:12 ` Randy Brukardt
2013-05-09 7:50 ` Dmitry A. Kazakov
2013-05-09 21:43 ` Randy Brukardt
2013-05-10 4:39 ` Yannick Duchêne (Hibou57)
2013-05-10 7:49 ` Dmitry A. Kazakov
2013-05-11 0:09 ` Randy Brukardt
2013-05-11 6:40 ` Dmitry A. Kazakov
2013-05-14 3:01 ` Randy Brukardt
2013-05-14 8:32 ` Dmitry A. Kazakov
2013-05-14 19:02 ` Randy Brukardt
2013-05-15 4:43 ` Yannick Duchêne (Hibou57)
2013-05-16 23:27 ` Randy Brukardt
2013-05-15 9:14 ` G.B.
2013-05-15 12:08 ` Dmitry A. Kazakov
2013-05-15 14:43 ` G.B.
2013-05-15 15:02 ` Dmitry A. Kazakov
2013-05-14 19:21 ` Robert A Duff
2013-05-10 4:29 ` Yannick Duchêne (Hibou57)
2013-05-07 1:14 ` Randy Brukardt
2013-05-07 2:42 ` Yannick Duchêne (Hibou57)
2013-05-07 1:09 ` Randy Brukardt
2013-05-07 7:41 ` Dmitry A. Kazakov
2013-05-07 20:27 ` Jacob Sparre Andersen news
2013-05-07 20:40 ` Yannick Duchêne (Hibou57)
2013-05-08 7:57 ` Dmitry A. Kazakov
2013-05-08 20:37 ` Randy Brukardt
2013-05-09 8:04 ` Dmitry A. Kazakov
2013-05-09 21:33 ` Randy Brukardt
2013-05-10 7:15 ` Dmitry A. Kazakov
2013-05-11 1:00 ` Randy Brukardt
2013-05-11 7:08 ` Yannick Duchêne (Hibou57)
2013-05-11 7:12 ` Dmitry A. Kazakov
2013-05-14 2:52 ` Randy Brukardt
2013-05-11 5:31 ` Simon Wright
2013-05-11 7:22 ` Dmitry A. Kazakov
2013-05-02 1:09 ` Randy Brukardt
2013-05-02 6:56 ` Dmitry A. Kazakov
2013-05-02 21:49 ` Randy Brukardt
2013-05-03 6:49 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox