Several types of types in programming languages
Conference object, Preprint
- Publisher: Springer
Types | ACM : D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.3: Language Constructs and Features/D.3.3.0: Abstract data types | Programming languages | K.2 | History of computing | [ INFO.INFO-LO ] Computer Science [cs]/Logic in Computer Science [cs.LO] | ACM : D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.3: Language Constructs and Features/D.3.3.1: Classes and objects | Computer Science - Programming Languages | ACM : D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.3: Language Constructs and Features/D.3.3.6: Data types and structures | ACM : F.: Theory of Computation/F.3: LOGICS AND MEANINGS OF PROGRAMS/F.3.3: Studies of Program Constructs/F.3.3.4: Type structure | Abstraction mechanisms | D.3.3 | [ INFO.INFO-PL ] Computer Science [cs]/Programming Languages [cs.PL] | [ INFO.INFO-GL ] Computer Science [cs]/General Literature [cs.GL]
Part 2: Regular Submissions; International audience; Types are an important part of any modern programming language, but we often forget that the concept of type we understand nowadays is not the same it was perceived in the sixties. Moreover, we conflate the concept of " type " in programming languages with the concept of the same name in mathematical logic, an identification that is only the result of the convergence of two different paths, which started apart with different aims. The paper will present several remarks (some historical, some of more conceptual character) on the subject, as a basis for a further investigation. We will argue that there are three different characters at play in programming languages, all of them now called types: the technical concept used in language design to guide implementation ; the general abstraction mechanism used as a modelling tool; the classifying tool inherited from mathematical logic. We will suggest three possible dates ad quem for their presence in the programming language literature, suggesting that the emergence of the concept of type in computer science is relatively independent from the logical tradition, until the Curry-Howard isomorphism will make an explicit bridge between them.