ACM Home Page
Please provide us with feedback. Feedback
Implementing signatures for C++
Full text PdfPdf (306 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 19 ,  Issue 1  (January 1997) table of contents
Pages: 153 - 187  
Year of Publication: 1997
ISSN:0164-0925
Authors
Gerald Baumgartner  Purdue Univ., West Lafayette, IN
Vincent F. Russo  Purdue Univ., West Lafayette, IN
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 46,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   review   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/239912.239922
What is a DOI?

ABSTRACT

We outline the design and detail the implementation of a language extension for abstracting types and for decoupling subtyping and inheritance in C++. This extension gives the user more of the flexibility of dynamic typing while retaining the efficiency and security of static typing. After a brief discussion of syntax and semantics of this language extension and examples of its use, we present and analyze three different implementation techniques: a preprocessor to a C++ compiler, an implementation in the front end of a C++ compiler, and a low-level implementation with back-end support. We follow with an analysis of the performance of the three implementation techniques and show that our extension actually allows subtype polymorphism to be implemented more efficiently than with virtual functions. We conclude with a discussion of the lessons we learned for future programming language design.


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.

1
2
3
 
4
BAUMGARTNER~ G. 1995. Type abstraction using signatures. In Using and Porting GNU CC, R. M. StMlman, Ed. Free Software Foundation, Cambridge, Mass, Section 7.6, 180-182. Available as part of the GCC-2.7.2 distribution.
 
5
6
 
7
BRUCE, K. B. 1997. Typing in object-oriented languages: Achieving expressibility and safety. A CM Comput. Surv. To be published.
 
8
9
10
11
 
12
 
13
 
14
GRANSTON~ E. D. AND RUSSO~ V. F. 1991. Signature-based polymorphism for C~~. In Proceedings of the 1991 USENIX C~~ Conference. USENIX Assoc., Berkeley, Calif., 65-79.
15
 
16
 
17
MAcQUEEN, D. B. 1985. Modules for Standard ML. Polymorphism 2, 2 (Oct.), PAGES.
18
 
19
Object Management Group 1995. The Common Object Request Broker: Architecture and SpecificationDOT, Rev. 2.0ED ed. Object Management Group, Framingham, Mass.
20
21
 
22
 
23
STALLMAN, R. M. 1995. Using and Porting GNU CC. Free Software Foundation, Cambridge, Mass. Available as part of the GCC-2.7.2 distribution.
24
 
25
 
26



REVIEW

"Frank Lawrence Friedman : Reviewer"

The authors introduce a simple yet powerful extension to C++ for abstracting types and decoupling subtyping and inheritance. They argue that the current dual purpose of the C++ class construct—to define and implement a type, and to serve  more...

Collaborative Colleagues:
Gerald Baumgartner: colleagues
Vincent F. Russo: colleagues