[FOM] Sorry, yet another historical question
Roger Bishop Jones
rbj at rbjones.com
Wed Apr 4 02:25:28 EDT 2012
On Sunday 01 Apr 2012 09:31, T.Forster at dpmms.cam.ac.uk
wrote:
> (i) Is there a decent historical article anywhere
> outlining the emergence of the idea of the *Abstract
> data Type* (aka ADT)?
The idea of abstract data type is important both in object
oriented and in functional programming languages.
As far as the object oriented paradigm is concerned the idea
is said to originate with Barbara Liskov:
^ Barbara Liskov, Programming with Abstract Data Types, in
Proceedings of the ACM SIGPLAN Symposium on Very High Level
Languages, pp. 50--59, 1974, Santa Monica, California
In 1973 Robin Milner started work on what would become
Edinburgh LCF, an important aspect of which was the idea of
using a typed functional programming language as a "meta-
language" for programming proof search and checking, and the
use of an abstract data type of theorems to ensure that any
computation of a theorem would indeed yield a theorem of
LCF.
As far as I am aware this was not published until 1978.
Some of the history here was written up by Mike Gordon in a
paper with which you must already be familiar (obtainable
from his web site).
There is a general survey paper by Cardelli and Wegner:
On understanding types, data abstraction, and polymorphism.
Luca Cardelli and Peter Wegner.
©1985 Computing Surveys, 17(4):471-522, 1985. [US.pdf]
available on Cardelli's web site.
It might be that looking back to philosophers and logicians
is better for your purposes, in which case one thinks of the
type systems of Martin Lof in which dependent types appear
prominently, or even further back to the work of Haskell
Curry (both of whose names have been appropriated in various
ways by functional programmers) whose work on the illative
combinatory work anticipated dependent types in a type-free
environment (though I don't know whether he had the
existential types or dependent sums which correspond to
ADTs).
However, all of this is overkill for the Julius Caesar
problem.
Anyone who is thinking about that problem will probably be
aware of the conflict between Frege and Hilbert on whether
axiom systems should have specific interpretations or should
be treated (as it were) as abstract structure descriptions.
So for this purpose the notion of "abstract data type" which
is most relevant is probably Hilbert's.
Roger Jones
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/fom/attachments/20120404/e721f418/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 0 bytes
Desc: not available
URL: </pipermail/fom/attachments/20120404/e721f418/attachment.png>
More information about the FOM
mailing list