Recent News
UNM student creates game-changing in-seat food delivery service
April 1, 2025
Dissertation defense, April 7: Ala Jararweh
March 31, 2025
Dissertation defense, April 4: John Ringer
March 31, 2025
Computer Science Colloquium will discuss the use of AI in cyber-physical systems
March 27, 2025
News Archives
Language Support for Generic Programming
April 20, 2004
Date: Tuesday April 20, 2004
Time: 11am-12:15pm
Location: Woodward 149
Andrew Lumsdaine <lums@cs.indiana.edu>
Director, Indiana University Pervasive Technology Labs, Open Systems Lab Associate Professor, Computer Science Department
Abstract:Many modern programming languages support basic generic programming, sufficient to implement type-safe polymorphic containers. Some languages have moved beyond this basic support to a broader, more powerful interpretation of generic programming, and their extensions have proven valuable in practice, particularly for the development of reusable software libraries. Fundamental to realizing generic algorithms is the notion of abstraction: generic algorithms are specified in terms of abstract properties of types and algorithms, the specification of which we call "concepts". Although many languages today have support for "generics", they do not directly support concepts, making it difficult to fully leverage the potential of generic programming in modern software construction. This talk reports on recent work to better understand concepts. Building on previous work by Kapur and Musser, we provide a language-independent definition for concepts. We show how this definition can be realized in the context of different programming languages and discuss how it could be used to address the limitations of existing languages for generic programming.