Title :
Polymorphic components for monomorphic languages
Author :
Grosch, Franz-Josef ; Snelting, Gregor
Author_Institution :
Tech. Univ. Braunschweig, Germany
Abstract :
Most procedural programming languages, due to their restricted type systems, do not allow for polymorphic software components in the style of functional languages, although polymorphism greatly increases the potential for component reuse, while guaranteeing the security of strong typing. It is shown how to obtain polymorphic software components for ordinary languages like C or Modula-2. The method is based on generic type inference in a software component library. The source of polymorphism is the use of free (undeclared) names in a component. The analysis algorithm will infer signature schemes, which are analogous to type schemes in functional languages. Signature schemes can be used to check library consistency and make it possible to retrieve components by usage patterns
Keywords :
data structures; functional programming; high level languages; software reusability; subroutines; C; Modula-2; analysis algorithm; component reuse; functional languages; generic type inference; library consistency; monomorphic languages; polymorphic software components; polymorphism; procedural programming languages; restricted type systems; signature schemes; software component library; strong typing; usage patterns; Algorithm design and analysis; Computer languages; Error correction; Inference algorithms; Programming profession; Runtime; Security; Software algorithms; Software libraries; Software reusability;
Conference_Titel :
Software Reusability, 1993. Proceedings Advances in Software Reuse., Selected Papers from the Second International Workshop on
Conference_Location :
Lucca
Print_ISBN :
0-8186-3130-9
DOI :
10.1109/ASR.1993.291718