2008 · 313 citations · 39 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringAbstract Syntax TreesData TypesProgramming Language DesignProgramming Language ImplementationType CheckingType SystemsInvariantsLocal InferenceOccurrence TypingPolymorphic Type SystemsPolymorphic TypesRecursive TypesSoftware Maintenance ProcessType Inference
When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of types in typical scripting languages means that programmers must (re)discover critical pieces of design information every time they wish to change a program. This analysis step both slows down the maintenance process and may even introduce mistakes due to the violation of undiscovered invariants.
39
A Syntactic Approach to Type Soundness
Andy Wright, Matthias Felleisen · Information and Computation · 1994 · 1.1K citations
Types, Abstraction and Parametric Polymorphism.
John Reynolds · IFIP Congress · 1983 · 771 citations
A formulae-as-type notion of control
Timothy G. Griffin · 1990 · 506 citations
Contracts for higher-order functions
Robert Bruce Findler, Matthias Felleisen · 2002 · 441 citations
Roberto M. Amadio, Luca Cardelli · ACM Transactions on Programming Languages and Systems · 1993 · 353 citations · Full text