2007 · 21 citations · 20 references
EngineeringVerificationSoftware EngineeringSoftware AnalysisExpressive Generic AnalysisFormal VerificationInformation RetrievalGeneric ProgrammingStatic CheckingDependency AnalysisPolymorphism (Computer Science)Knowledge DiscoveryComputer ScienceType SystemStatic Program AnalysisSoftware DesignProgram AnalysisUniqueness TypingSoftware TestingFormal MethodsGeneric Usage AnalysisParametric PolymorphismSystem Software
Sharing analysis and uniqueness typing are static analyses that aim at determining which of a program's objects are to be used at most once. There are many commonalities between these two forms of usage analysis. We make their connection precise by developing an expressive generic analysis that can be instantiated to both sharing analysis and uniqueness typing. The resulting system, which combines parametric polymorphism with effect subsumption, is specified within the general framework of qualified types, so that readily available tools and techniques can be used for the development of implementations and metatheory.
20
Principal type-schemes for functional programs
Robin Milner · 1982 · 1.1K citations
Mathematical Programming, Principal Type-schemes, Engineering +12
How to make ad-hoc polymorphism less ad hoc
Philip Wadler, Stephen Blott · 1989 · 766 citations · Full text