|
ABSTRACT
We present a programming technique for implementing type safe covariance in C++. In a sense, we implement most of Bruce's matching approach to the covariance dilemma in C++. The appeal in our approach is that it relies on existing mechanisms, specifically templates, and does not require any modification to the existing language. The practical value of the technique was demonstrated in its successful incorporation in a large software body. We identify the ingredients of a programming language required for applying the technique, and discuss extensions to other languages.
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
|
K. Arnold and J. Gasling. The Java Prog. Lang. Addison-Wesley, 1996.
|
| |
2
|
K. Bruce. Increasing JAVA'S expressiveness with this Type and match-bounded polymorphism. On the web6, 1997.
|
| |
3
|
K. Bruce, L. Cardeli, G. Castagna, T. H. O. Group, G. T. Leavens, and B. Pierce. On binary methods. Theory and Practice of Object Systems, 1(3), 1996.
|
| |
4
|
K. B. Bruce, A. Fiech, and L. Petersen. Subtyping is not a good "match" for oo lang. In ECOOP'97.
|
| |
5
|
|
 |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
D. Colnet and L. Liquori. Match-O, a dialect of Eiffel with Match-Types, pp. 190--201. In TOOLS PACIFIC'00.
|
| |
10
|
|
| |
11
|
J. Y. Gil and Z. Gutterman. Compile time symbolic derivation with C++ templates. In COOTS'98, pp. 249--262.
|
| |
12
|
|
| |
13
|
C. Gotsman and V. Surazhsky. Guaranteed intersection-free polygon morphing. Computers & Graphics, 25(1):67--75, Feb. 2001.
|
| |
14
|
O. L. Madsen, B. Møller-Pedersen, and K. Nygaard. OO Prog. in the Beta Prog. Lang. Addison-Wesley, 1993.
|
| |
15
|
|
| |
16
|
|
| |
17
|
|
| |
18
|
S. M. Omohundro The Sather 1.0 Specification, Jan. 1994.
|
| |
19
|
|
| |
20
|
R. Rinat. Type-safe covariant specialization with generalized matching. In The 7th Int. Workshop on Foundations of OO Lang.
|
| |
21
|
|
| |
22
|
B. Stroustrup. The C++ Prog. Lang. Addison-Wesley. 2nd ed., 1991.
|
| |
23
|
B. Stroustrup. The C++ Prog. Addison-Wesley, 3rd ed., 1997.
|
 |
24
|
|
| |
25
|
|
| |
26
|
C. Szypersky, S. Omohundro, and S. Murer. Engineering a prog. lang.: The type and class system of Sather. Tech. Rep. 93--064, The Int. Comp. Sc. Inst., Berkeley, Ca, Nov. 1993.
|
| |
27
|
|
| |
28
|
N. Wirth. The prog. lang. Pascal. Acta Inf., 1:35--63, 1971.
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE conference on Design automation
Gwo-Dong Chen
, Daniel D. Gajski
|