ACM Home Page
Please provide us with feedback. Feedback
An efficient class and object encoding
Full text PdfPdf (286 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Minneapolis, Minnesota, United States
Pages: 311 - 324  
Year of Publication: 2000
ISBN:1-58113-200-X
Also published in ...
Author
Neal Glew  Department of Computer Science, Cornell University
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 37,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/353171.353192
What is a DOI?

ABSTRACT

An object encoding translates a language with object primitives to one without. Similarly, a class encoding translates classes into other primitives. Both are important theoretically for comparing the expressive power of languages and for transferring results from traditional languages to those with objects and classes. Both are also important foundations for the implementation of object-oriented languages as compilers typically include a phase that performs these translations.This paper describes a language with a primitive notion of classes and objects and presents an encoding of this language into one with records and functions. The encoding uses two techniques often used in compilers for single-inheritance class-based object-oriented languages: the self-application semantics and the method-table technique. To type the output of the encoding, the encoding uses a new formulation of self quantifiers that is more powerful than previous approaches.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

AC93
 
AC96
ACV96
 
BCP99
 
BF98
 
Bru94
Kim Bruce. A paradigmatic object-oriented programming language: Design, static typing and semantics. Journal of Functional Programming, 4(2):127-206, April 1994.
 
BSvG95
 
Car88
CCH+89
 
CG99
CHC90
 
Coo89a
 
Coo89b
William Cook. A proposal for making Eiffel type-safe. In 3rd European Conference on Object-Oriented Programming, pages 57-72, Nottingham, UK, July 1989. Cambridge University Press.
 
Cra99
Karl Crary. Simple, effcient object encoding using intersection types. Technical Report CMU-CS-99-100, Carnegie Mellon University, Pittsburgh, PA 15213, USA, 1999.
 
ESTZ95
 
FHM94
 
Fis96
 
FM95a
 
FM95b
 
FM96
 
FM98
 
GJS96
 
Gle99a
Neal Glew. Object closure conversion. In Andrew Gordon and Andrew Pitts, editors, 3rd International Workshop on Higher Order Operational Techniques in Semantics, volume 26 of El ectronic Notes in Theoretical Computer Science, Paris, France, September 1999. Elsevier. http://www.elsevier.nl/ locate/entcs/volume26.html.
Gle99b
 
Gle00a
Neal Glew. An efficient class and object encoding. Technical Report STAR-TR-00.07-02, STAR Lab, InterTrust Technologies Corporation, 4750 Patrick Henry Drive, Santa Clara, CA 95054-1851, USA, July 2000.
 
Gle00b
 
Hic
Jason Hickey. Predicative type-theoretic interpretation of objects. Unpublished, author's contact: jyh@cs.cornell.edu.
HP95
 
HP98
Martin Hofmann and Benjamin Pierce. Type destructors. In 5th International Workshop on Foundations of Object Oriented Programming Languages, pages 3-1 to 3-11, San Diego, CA, USA, January 1998.
Kam88
 
KPS95
Dexter Kozen, Jens Palsberg, and Michael Schwartzbach. Efficient recursive subtyping. Mathematical Structures in Computer Science, 5(1):113-125, March 1995.
 
KR94
LST99
 
MCG+99
Greg Morrisett, Karl Crary, Neal Glew, Dan Grossman, Richard Samuels, Frederick Smith, David Walker, Stephanie Weirich, and Steve Zdancewic. TALx86: A realistic typed assembly language. In ACM SIGPLAN Workshop on Compiler Support for System Software, volume 0228 of INRIA Research Reports, Atlanta, GA, USA, May 1999.
Mit90
 
MTC+96
Greg Morrisett, David Tarditi, Perry Cheng, Christopher Stone, Robert Harper, and Peter Lee. The TIL/ML compiler: Performance and safety through types. In ACM SIGPLAN Workshop on Compiler Support for System Software, Tucson, AZ, USA, February 1996.
MWCG99
NL98
PT94
Red98
 
Rém94
 
RR96a
John Reppy and Jon Riecke. Classes in Object MLvia modules. In3rd International Workshop on Foundations of Object Oriented Programming Languages, New Brunswick, NJ, USA, July 1996.
RR96b
RV97
TMC+96
 
Vis98
 
Vou98
Jerome Vouillon. Using modules as classes. In 5th International Workshop on Foundations of Object Oriented Programming Languages, pages 4-1 to 4-10, San Diego, CA, USA, January 1998.