Generic Programming and High-Performance Libraries
Paper in proceeding, 2004

Generic programming is an attractive paradigm for developing libraries for high-performance computing because of the simultaneous emphases placed on generality and efficiency. In this approach, interfaces are based on sets of specified requirements on types, rather than on any particular type, allowing algorithms to inter-operate with any data type meeting the necessary requirements. These sets of requirements, known as concepts, can specify syntactic as well as semantic requirements. Although concepts are fundamental to generic programming, they are not supported as first-class entities in mainstream programming languages, thus limiting the degree to which generic programming can be effectively applied. In this paper we advocate better syntactic and semantic support for concepts and describe some straightforward language features that could better support them. We also briefly discuss uses for concepts beyond their use in constraining polymorphism.

Author

Jaako Järvi

Indiana University

Andrew Lumsdaine

Indiana University

Douglas Gregor

Rensselaer Polytechnic Institute

Mukaresh Kulkarni

Rensselaer Polytechnic Institute

David Musser

Rensselaer Polytechnic Institute

Sibylle Schupp

Chalmers, Department of Computing Science, Software Engineering

18th International Parallel and Distributed Processing Symposium, IPDPS 2004 (Abstracts and CD-ROM); Santa Fe, NM; United States; 26 April 2004 through 30 April 2004

Vol. 18 2767-2774
978-076952132-9 (ISBN)

Subject Categories

Computer and Information Science

DOI

10.1109/IPDPS.2004.1303221

ISBN

978-076952132-9

More information

Latest update

7/12/2024