@MISC{Zhang_introducingkinds, author = {Scheyen Yu Zhang and S. Yu and M. Zhang and Q. Zhuang}, title = {Introducing KINDs to C++}, year = {} }
Bookmark
OpenURL
Abstract
Kind-C++ has been a on-going project since Fall, 1992. In the project, we introduce a new level of entities, kinds, to C++ 1 . In this paper, we show that by using kinds, C++ templates are more convenient for software reuse, more consistent with the type system of the language, and structurally clearer. Our idea is based on a four-level hierarchy of entities: objects, classes, types, and kinds, where a kind is, informally, a set of types that share a certain set of common properties. We show that templates with type parameters restricted to kinds provide a powerful tool for the reuse of high-level programs in a plug-and-play fashion. We also compare our constructs with "similar" constructs in other programming languages. Keywords: D.3.2 language classifications (object-oriented languages), D.3.3 language constructs and features (data types and structures, procedures, functions, and subroutines) 1 Problems with C++ templates In the late eighties, templates were introduced to C++ to ...