Proceedings of the Second International Workshop on Library-Centric Software Design (LCSD '06)

We examine what is necessary to allow generic libraries to be used naturally in a heterogeneous environment. Our approach is to treat a library as a software component and to view the problem as one of component extension. Language-neutral library interfaces usually do not support the full range of programming idioms that are available when a library is used natively. We address how
language-neutral interfaces can be extended with import bindings
to recover the desired programming idioms. We also address the
question of how these extensions can be organized to minimize the
performance overhead that arises from using objects in manners
not anticipated by the original library designers.