From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: Seeking for papers about tagged types vs access to subprograms
Date: Fri, 10 May 2013 13:18:12 +0200
Date: 2013-05-10T13:18:12+02:00 [thread overview]
Message-ID: <op.wwu8cmo7ule2fv@cardamome> (raw)
In-Reply-To: ebebe368y8s9$.vfm8f23pnkjr.dlg@40tude.net
Le Fri, 10 May 2013 10:42:25 +0200, Dmitry A. Kazakov
<mailbox@dmitry-kazakov.de> a écrit:
> On Fri, 10 May 2013 05:29:53 +0200, Yannick Duchêne (Hibou57) wrote:
>
>> I tried to express each validity condition with types and then type
>> checking.
>
> You cannot express program semantics in terms of types.
>
> If you could express semantics, you won't need to program it.
I don't understand what means “if you could express semantics, you won't
need to program it”. Or may be you meant the program is already in the
described semantic? If so, that's indeed be true, as the program can then
be derived, but there is not a single possible derivation, there are
typically multiple solutions, so the program still requires human
intervention to be generated.
Then if you see a types as set of axioms, and an instance of a type, as
something with which the axioms are all turned into true hypothesis (you
always need to prove hypothesis are true, before you can infer anything
which in turn is true, and that must be at the object level for program),
then you express semantic with types. And types in Ada, already holds
axioms. Its axiom language is just too limited (ranges and available
operations, that's near to all what's available).
Then again, semantic is expressed with axioms, or else that's not formal
semantic, and that's, say, natural language semantic, always subject to
possible subjective re‑interpretation (no deterministic interpretation).
I will be back to it later and I'm not versed in it enough so far, but
quickly, Isabelle/HOL (HOL stands for Higher Order Logic here), you have
something close to that. With Isabelle, axioms and theorems may be
organized into classes or local theories, which are kind of generic which
are to be instantiated, this instantiation being named “an interpretation
of a local theory”. You instantiate providing functions and values as
arguments.
With this kind of formal system, you typically go from a specification and
derives a program. Ada do it the other way, and go from the program and
prove it matches a specification later (either formally proving with SPARK
or using runtime‑check), or immediately for what is statically checked
(whether or not an operation exist, whether or not a value belongs to the
values of a type). But the concept does not imply a direction and would
make as much sense with the Ada way to go from program and later prove or
check its properties: in both case, you have to express what is to be
verified, whatever you do it before you generate a program or after a
program was authored.
If types could go beyond specification of a simple list of values (and we
already have a taste of that with discriminated records since always and
invariant predicates since Ada 2012) and available sub–programs, you won't
see types as you see it actually, it would look more expressive (and as a
consequence, safer) and less “rigid”.
--
“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-10 11:18 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)
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) [this message]
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