AbstractFlexibility of programming and efficiency of program execution are two important features of a programming language. Unfortunately, however, these two features conflict with each other in design and implementation of a modern statically typed programming language. Flexibility is achieved by a high-degree of polymorphism, which is based on generic primitives in an abstract model of computation, while efficiency requires optimal use of low-level primitives specialized to individual data structures. The motivation of this work is to reconcile these two features by developing a mechanism for specializing polymorphic primitives based on static type information. We analyze the existing methods for compiling a record calculus and an unboxe...
International audienceLanguages with polymorphic types (e.g. ML) have traditionally been implemented...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...
Intensional polymorphism, the ability to dispatch to different routines based on types at run time...
Flexibility of programming and efficiency of program execution are two important features of a progr...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
The polymorphic type system of ML can be extended in two ways to make it the appropriate basis of a ...
The polymorphic type system of ML can be extended in two ways that make it appropriate as the basis ...
Type inference for structural polymorphism ---i.e. record and variant polymorphism--- has been an ac...
There exists an identifiable programming style based on the widespread use of type information handl...
The polymorphic type system of ML can be extended in two ways that make it appropriate as the basis ...
We present a static type system for object-oriented languages which strives to provide static typech...
Modem functional languages feature polymorphic types whose data structures must be fixed, though the...
One of the disadvantages of statically typed languages is the pro-gramming overhead caused by writin...
International audienceLanguages with polymorphic types (e.g. ML) have traditionally been implemented...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...
Intensional polymorphism, the ability to dispatch to different routines based on types at run time...
Flexibility of programming and efficiency of program execution are two important features of a progr...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
The polymorphic type system of ML can be extended in two ways to make it the appropriate basis of a ...
The polymorphic type system of ML can be extended in two ways that make it appropriate as the basis ...
Type inference for structural polymorphism ---i.e. record and variant polymorphism--- has been an ac...
There exists an identifiable programming style based on the widespread use of type information handl...
The polymorphic type system of ML can be extended in two ways that make it appropriate as the basis ...
We present a static type system for object-oriented languages which strives to provide static typech...
Modem functional languages feature polymorphic types whose data structures must be fixed, though the...
One of the disadvantages of statically typed languages is the pro-gramming overhead caused by writin...
International audienceLanguages with polymorphic types (e.g. ML) have traditionally been implemented...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...
Intensional polymorphism, the ability to dispatch to different routines based on types at run time...