Recent News
New associate dean interested in helping students realize their potential
August 6, 2024
Hand and Machine Lab researchers showcase work at Hawaii conference
June 13, 2024
Two from School of Engineering to receive local 40 Under 40 awards
April 18, 2024
Making waves: Undergraduate combines computer science skills, love of water for summer internship
April 9, 2024
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.