Luca Andrea Cardelli

Prof. Luca Andrea Cardelli

orcid

Research Focus & Metrics

Academic Career Length

43Years (1984-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
10 December 1985 in ACM Computing Surveys
Verified
Journal Article
Open access
LCLuca Andrea Cardelli
Luca Andrea Cardelli
PWPeter Wegner
Peter Wegner
Our objective is to understand the notion of type in programming languages, present a model of typed, polymorphic programming languages that reflects recent research in type theory, and examine the relevance of recent research to the design of practical programming languages. Object-oriented languages provide both a framework and a motivation for exploring the interaction among the concepts of type, data abstraction, and polymorphism, since they extend the notion of type to data abstraction and since type inheritance is an important form of polymorphism. We develop a λ-calculus-based model for type systems that allows us to explore these interactions in a simple setting, unencumbered by complexities of production programming languages. The evolution of languages from untyped universes to monomorphic and then polymorphic type systems is reviewed. Mechanisms for polymorphism such as overloading, coercion, subtyping, and parameterization are examined. A unifying framework for polymorphic type systems is developed in terms of the typed λ-calculus augmented to include binding of types by quantification as well as binding of values by abstraction. The typed λ-calculus is augmented by universal quantification to model generic functions with type parameters, existential quantification and packaging (information hiding) to model abstract data types, and bounded quantification to model subtypes and type inheritance. In this way we obtain a simple and precise characterization of a powerful type system that includes abstract data types, parametric polymorphism, and multiple inheritance in a single consistent framework. The mechanisms for type checking for the augmented λ-calculus are discussed. The augmented typed λ-calculus is used as a programming language for a variety of illustrative examples. We christen this language Fun because fun instead of λ is the functional abstraction keyword and because it is pleasant to deal with. Fun is mathematically simple and can serve as a basis for the design and implementation of real programming languages with type facilities that are more powerful and expressive than those of existing programming languages. In particular, it provides a basis for the design of strongly typed object-oriented languages.

29 September 2013 in Nature Nanotechnology
Verified
Journal Article
Closed access
PDF file
YCYuan-Jyue Chen
Yuan-Jyue Chen
NDNeil Dalchau
Neil Dalchau
NSNiranjan Srinivas
Niranjan Srinivas
APAndrew Phillips
Andrew Phillips
LCLuca Andrea Cardelli
Luca Andrea Cardelli
GSGeorg Seelig
Georg Seelig

1 June 2000 in Theoretical Computer Science
Verified
Journal Article
Closed access
LCLuca Andrea Cardelli
Luca Andrea Cardelli
AGAndrew D. Gordon
Andrew D. Gordon

1 January 1998
Verified
Book Chapter
Closed access
PDF file
LCLuca Andrea Cardelli
Luca Andrea Cardelli
AGAndrew D. Gordon
Andrew D. Gordon

1 April 1991 in Journal of Functional Programming
Verified
Journal Article
Closed access
PDF file
MAM. Abadi
M. Abadi
LCLuca Andrea Cardelli
Luca Andrea Cardelli
PCP.-L. Curien
P.-L. Curien
JLJ.-J. Lévy
J.-J. Lévy
The λσ-calculus is a refinement of the λ-calculus where substitutions are manipulated explicitly. The λσ-calculus provides a setting for studying the theory of substitutions, with pleasant mathematical properties. It is also a useful bridge between the classical λ-calculus and concrete implementations.

1 September 2004 in Theoretical Computer Science
Verified
Journal Article
Closed access
ARAviv Regev
Aviv Regev
EPEkaterina M. Panina
Ekaterina M. Panina
WSWilliam Silverman
William Silverman
LCLuca Andrea Cardelli
Luca Andrea Cardelli
ESEhud Shapiro
Ehud Shapiro