Intensional polymorphism, the ability to dispatch to different routines based on types at run time, enables a variety of advanced implementation techniques for polymorphic languages, including tag-free garbage collection, unboxed function arguments, polymorphic marshalling, and flattened data structures. To date, languages that support intensional polymorphism have required a type-passing (as opposed to type-erasure) interpretation where types are constructed and passed to polymorphic functions at run time. Unfortunately, type-passing suffers from a number of drawbacks: it requires duplication of constructs at the term and type levels, it prevents abstraction, and it severely complicates polymorphic closure conversion. We present a type-the...
We present a method for providing semantic interpretations for languages with a type system featurin...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...
Polymorphism is an important language feature, allowing generic code to operate on many different ty...
Intensional polymorphism, the ability to dispatch to different routines based on types at run time...
Intensional polymorphism, the ability to dispatch to dierent routines based on types at run time, en...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
Traditional techniques for implementing polymorphism use auniversal representation for objects of un...
Compilers for polymorphic languages can use run-time type inspection to support advanced implementat...
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...
Traditional techniques for implementing polymorphism use a universal representation for objects of u...
Compilers for polymorphic languages can use runtime type in-spection to support advanced implementat...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We present a method for providing semantic interpretations for languages with a type system featurin...
We present a method for providing semantic interpretations for languages with a type system featurin...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...
Polymorphism is an important language feature, allowing generic code to operate on many different ty...
Intensional polymorphism, the ability to dispatch to different routines based on types at run time...
Intensional polymorphism, the ability to dispatch to dierent routines based on types at run time, en...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
Traditional techniques for implementing polymorphism use auniversal representation for objects of un...
Compilers for polymorphic languages can use run-time type inspection to support advanced implementat...
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...
Traditional techniques for implementing polymorphism use a universal representation for objects of u...
Compilers for polymorphic languages can use runtime type in-spection to support advanced implementat...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We present a method for providing semantic interpretations for languages with a type system featurin...
We present a method for providing semantic interpretations for languages with a type system featurin...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...
Polymorphism is an important language feature, allowing generic code to operate on many different ty...