Journal of Functional Programming · 1991 · 36 citations · 8 references
ComputingComputer ScienceInformation RetrievalProgramming LanguagesSoftware EngineeringComponent-based Software EngineeringData TypesSoftware ArchitectureSoftware DesignSoftware ReuseType SystemsLibrary SpecializationPolymorphic Type SystemsPolymorphic TypesRetrievalRetrieval System DesignSoftware ComponentsSoftware LibrariesType Polymorphism
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.
8
Hypertext: An Introduction and Survey
A theory of type polymorphism in programming
Robin Milner · Journal of Computer and System Sciences · 1978 · 2.2K citations · Full text
The implementation of functional programming languages
Microprocessors and Microsystems · 1987 · 1.1K citations
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1983 · 690 citations · Full text
Computing, Computer Science, Building Information Modeling +5