I don't see where parametricity is stated in this note; you'll have to be
more
specific.

Reynolds credits Christopher Strachey for distinguishing ad hoc
and parametric polymorphism.  What Reynolds realized and proved is the
parametricity theorem: every function in the polymorphic lambda calculus
(and a few other type constructors) is parametric.  Giving a technical
formulation of this (related values of related types are mapped to related
results) is a major advance in our understanding of how to reason about
programming languages as a whole and individual programs, too.  Among
other things, data abstraction (a concept Reynolds certainly did not invent)
is a consequence of the parametricity theorem.

  - Frank

On Wed, Nov 7, 2018 at 2:54 PM Tim Daly <axiom...@gmail.com> wrote:

> Reynolds is stated as the inventor of parametricity. But it seems to me
> that the
> same idea is stated quite clearly by Dijkstra in 1970 in this note:
>
> https://vanemden.wordpress.com/2018/10/29/history-of-structured-programming/#EWD288
>
> In addition, Dijkstra broaches the interesting idea that proofs ought to
> be constructed
> at the level of the flowchart first. Once that is done, using high level
> steps, it can be
> refined into code. But the proof of the code is essentially a refinement
> of the proof of
> the flowchart. This idea is interesting in that it is often the case that
> a flowchart might
> say "find the largest value such that...", which when reduced to code
> would involve a loop.
> A proof that the largest value exists at the abstract "flowchart" level
> would be easier
> to prove than a low-level inductive proof of a program loop that
> implements the search
> and involving issues such as finding invariants.
>
> To my mind, this "hierarchical proof technique" (my words, not Dijkstra's)
> is rather
> interesting.
>
> Tim
>
>

-- 
Frank Pfenning, Professor
Computer Science Department
Carnegie Mellon University
Pittsburgh, PA 15213-3891

http://www.cs.cmu.edu/~fp
+1 412 268-6343
GHC 6017
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
https://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to