Designing type inference for typed object-oriented languages

dc.contributor.advisorCartwright, Robert S.
dc.creatorSmith, Daniel
dc.date.accessioned2011-07-25T02:05:26Z
dc.date.available2011-07-25T02:05:26Z
dc.date.issued2010
dc.description.abstractType-checked object-oriented languages have typically been designed with extremely simple type systems. However, there has recently been intense interest in extending such languages with more sophisticated types and subtyping relationships. JAVA and C# are mainstream languages that have been successfully extended with generic classes and methods; SCALA, FORTRESS, and X10 are new languages that adopt more advanced typing features, such as arrows, tuples, unions, intersections, dependent types, and existentials. Presently, the type inference performed by these languages is unstable and evolving. This thesis explores problems arising in the design of a type inference specification for such languages. We first present a formal description of subtyping in the context of a variety of advanced typing features. We then demonstrate how our formal subtyping algorithm can be easily re-expressed to produce a type inference algorithm, and observe that this algorithm is general enough to address a variety of important type-checking problems. Finally, we apply this theory to a case study of the JAVA language's type system. We express JAVA'S types and inference algorithm in terms of our formal theory and note a variety of opportunities for improvement. We then describe the results of applying an improved type inference implementation to a selection of existing JAVA code, noting that, without introducing significant backwards-incompatibility problems for these programs, we've managed to significantly reduce the need for annotated method invocations.
dc.format.mimetypeapplication/pdf
dc.identifier.callnoTHESIS COMP.SCI. 2010 SMITH
dc.identifier.citationSmith, Daniel. "Designing type inference for typed object-oriented languages." (2010) Diss., Rice University. <a href="https://hdl.handle.net/1911/62026">https://hdl.handle.net/1911/62026</a>.
dc.identifier.urihttps://hdl.handle.net/1911/62026
dc.language.isoeng
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
dc.subjectComputer science
dc.subjectApplied sciences
dc.titleDesigning type inference for typed object-oriented languages
dc.typeThesis
dc.type.materialText
thesis.degree.departmentComputer Science
thesis.degree.disciplineEngineering
thesis.degree.grantorRice University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3425212.PDF
Size:
2.93 MB
Format:
Adobe Portable Document Format