1994 · 214 citations · 19 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSyntaxAbstract Syntax TreesControl-flow AnalysisData TypesData-flow AnalysisType CheckingType SystemsControl Flow ControlDynamic Type CheckingIntersection TypesRecursive TypesStatic Type CheckingType ConstraintsType InferenceType Theory
We present a simple and powerful type inference method for dynamically typed languages where no type information is supplied by the user. Type inference is reduced to the problem of solvability of a system of type inclusion constraints over a type language that includes function types, constructor types, union, intersection, and recursive types, and conditional types. Conditional types enable us to analyze control flow using type inference, thus facilitating computation of accurate types. We demonstrate the power and practicality of the method with examples and performance results from an implementation.
19
Can programming be liberated from the von Neumann style?
John Backus · Communications of the ACM · 1978 · 2.6K citations · Full text
A theory of type polymorphism in programming
Robin Milner · Journal of Computer and System Sciences · 1978 · 2.2K citations · Full text
Principal type-schemes for functional programs
Robin Milner · 1982 · 1.1K citations
Flow analysis and optimization of LISP-like structures
Neil D. Jones, Steven S. Muchnick · 1979 · 308 citations
Robert Cartwright, Mike Fagan · 1991 · 302 citations · Full text