Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '95 1995
DOI: 10.1145/199448.199475
|View full text |Cite
|
Sign up to set email alerts
|

Compiling polymorphism using intensional type analysis

Abstract: Traditional techniques for implementing polymorphism use a universal representation for objects of unknown type. Often, this forces a compiler to use universal representations even if the types of objects are known. We examine an alternative approach for compiling polymorphism where types are passed as arguments to polymorphic routines in order to determine the representation of an object. This approach allows monomorphic code to use natural, e cient representations, supports separate compilation of polymorphi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
143
0

Year Published

1999
1999
2017
2017

Publication Types

Select...
6
3
1

Relationship

1
9

Authors

Journals

citations
Cited by 229 publications
(143 citation statements)
references
References 45 publications
0
143
0
Order By: Relevance
“…The TIL compiler [1,9] uses intensional type analysis in a whole-program compiler to allow native data representations without committing to whole-program compilation. As with the Leroy coercion approach, polymorphic uses of objects require conditionals and boxing coercions to be inserted at use sites, and consequently there is the potential to slow down, rather than speed up, the program.…”
Section: Related Workmentioning
confidence: 99%
“…The TIL compiler [1,9] uses intensional type analysis in a whole-program compiler to allow native data representations without committing to whole-program compilation. As with the Leroy coercion approach, polymorphic uses of objects require conditionals and boxing coercions to be inserted at use sites, and consequently there is the potential to slow down, rather than speed up, the program.…”
Section: Related Workmentioning
confidence: 99%
“…Given the ability to write an intensional type constructor (Harper & Morrisett, 1995), such as the following, which maps product types to their first component but leaves other types alone,…”
Section: Injectivitymentioning
confidence: 99%
“…Intensional polymorphism [5,6,7] is an approach to compiling polymorphism that allows type information to be used at run time. This technique allows a compiler to use efficient data representations while preserving type safety.…”
Section: Related Workmentioning
confidence: 99%