Retrieving reusable software components by polymorphic type
- 1 April 1991
- journal article
- research article
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 1 (2) , 191-211
- https://doi.org/10.1017/s0956796800020049
Abstract
Polymorphic types are labels classifying both (a) defined components in a library and (b) contexts of free variables in partially written programs. It is proposed to help programmers make better use of software libraries by providing a system that, given (b), identifies candidates from (a) with matching types. Assuming at first that matching means unifying (i.e. having a common instance), efficient ways of implementing such a retrieval system are discussed and its likely effectiveness based on a quantitative study of currently available libraries is indicated. The applicative instance relation between types, which captures some intuitions about generalization/specialization is then introduced, and its use as the basis of a more flexible system is discussed.Keywords
This publication has 11 references indexed in Scilit:
- A theory of type polymorphism in programmingPublished by Elsevier ,2003
- Parallel Implementations of Functional Programming LanguagesThe Computer Journal, 1989
- Basic polymorphic typecheckingScience of Computer Programming, 1987
- Performance polymorphismPublished by Springer Nature ,1987
- A new type-checker for a functional languageScience of Computer Programming, 1986
- Literate ProgrammingThe Computer Journal, 1984
- A proposal for standard MLPublished by Association for Computing Machinery (ACM) ,1984
- Program development by stepwise refinementCommunications of the ACM, 1983
- An Efficient Unification AlgorithmACM Transactions on Programming Languages and Systems, 1982
- A synthesis of several sorting algorithmsActa Informatica, 1978