HEAL DSpace

Practical type inference based on success typings

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Lindahl, T en
dc.contributor.author Sagonas, K en
dc.date.accessioned 2014-03-01T02:44:09Z
dc.date.available 2014-03-01T02:44:09Z
dc.date.issued 2006 en
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/31716
dc.subject Constraint-based type inference en
dc.subject Erlang en
dc.subject Subtyping en
dc.subject Success typings en
dc.subject.other Algorithms en
dc.subject.other Computer programming en
dc.subject.other Functions en
dc.subject.other Image reconstruction en
dc.subject.other Interfaces (computer) en
dc.subject.other Bottom-up type inference en
dc.subject.other Inference algorithm en
dc.subject.other Program maintenance en
dc.subject.other Static type checks en
dc.subject.other Program compilers en
dc.title Practical type inference based on success typings en
heal.type conferenceItem en
heal.identifier.primary 10.1145/1140335.1140356 en
heal.identifier.secondary http://dx.doi.org/10.1145/1140335.1140356 en
heal.publicationDate 2006 en
heal.abstract In languages where the compiler performs no static type checks, many programs never go wrong, but the intended use of functions and component interfaces is often undocumented or appears only in the form of comments which cannot always be trusted. This often makes program maintenance problematic. We show that it is possible to reconstruct a significant portion of the type information which is implicit in a program, automatically annotate function interfaces, and detect definite type clashes without fundamental changes to the philosophy of the language or imposing a type system which unnecessarily rejects perfectly reasonable programs. To do so, we introduce the notion of success typings of functions. Unlike most static type systems, success typings incorporate subtyping and never disallow a use of a function that will not result in a type clash during runtime. Unlike most soft typing systems that have previously been proposed, success typings allow for compositional, bottom-up type inference which appears to scale well in practice. Moreover, by taking control-flow into account and exploiting properties of the language such as its module system, success typings can be refined and become accurate and precise. We demonstrate the power and practicality of the approach by applying it to Erlang. We report on our experiences from employing the type inference algorithm, without any guidance, on programs of significant size. Copyright © 2006 ACM. en
heal.journalName PPDP'06 - Proceedings of the Eight ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming en
dc.identifier.doi 10.1145/1140335.1140356 en
dc.identifier.volume 2006 en
dc.identifier.spage 167 en
dc.identifier.epage 178 en


Αρχεία σε αυτό το τεκμήριο

Αρχεία Μέγεθος Μορφότυπο Προβολή

Δεν υπάρχουν αρχεία που σχετίζονται με αυτό το τεκμήριο.

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής