Title of article :
A language for generic programming in the large
Author/Authors :
Jeremy G. Siek، نويسنده , , Andrew Lumsdaine، نويسنده ,
Issue Information :
ماهنامه با شماره پیاپی سال 2011
Pages :
43
From page :
423
To page :
465
Abstract :
Generic programming is an effective methodology for developing reusable software libraries. Many programming languages provide generics and have features for describing interfaces, but none completely support the idioms used in generic programming. To address this need we developed the language . The central feature of is the concept, a mechanism for organizing constraints on generics that is inspired by the needs of modern C++ libraries. provides modular type checking and separate compilation (even of generics). These characteristics support modular software development, especially the smooth integration of independently developed components. In this article we present the rationale for the design of and demonstrate the expressiveness of with two case studies: porting the Standard Template Library and the Boost Graph Library from C++ to . The design of shares much in common with the concept extension proposed for the next C++ Standard (the authors participated in its design) but there are important differences described in this article.
Keywords :
Generic programming , polymorphism , Concepts , Associated types , software reuse , Type classes , modules , Virtual types , Functors , Signatures , Programming language design , Generics
Journal title :
Science of Computer Programming
Serial Year :
2011
Journal title :
Science of Computer Programming
Record number :
1080188
Link To Document :
بازگشت