Abstract

Fast developments of information technologies with rapidly emerging new disciplines and their application in all segments of life and society permanently urge for the development of foundational aspects based on solid theoretical concepts. Early work on the foundations of mathematics, George Cantor’s Naive set theory was fostering paradoxes which were singled out by Bertrand Russell: Does the set of sets not containing themself contain itself? Or not? At the beginning of the XX century, Type theory was a way out of these paradoxes preventing the expression “the set does not contain itself” to be a valid predicate anymore, since sets and their elements belong to different types. To this end, type theory has provided trustworthiness to logic and foundations of mathematics. The Curry-Howard correspondence is a deep result that connects logic and computation wherein mathematical proofs coincide with computer programs and formulae with types. With this respect, types have gained an important role in the analysis of formal systems. A type system splits elements (terms, programs) of a language into sets, called types, and proves absence of certain undesired behaviors. In programming languages, types represent a well-established technique to ensure program correctness. Accordingly, types have provided trustworthiness to foundations of programming languages. Nowadays, there is a plethora of type systems in logic, programming languages, distributed and large scale systems which establish trustworthiness of the particular framework. In this talk, we present some significant type systems - functional types, behavioural types, linked data types - along with their properties such as type safety, liveness, deadlock freedom and discuss their role for ensuring trustworthiness.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call