East Tennessee State University
Connotational Subtyping and Runtime Class Mutability in Ruby
Abstract
dc:description.abstract<p>Connotational subtyping is an approach to typing that allows an object's type to change dynamically, following changes to the object's internal state. This allows for a more precise representation of a problem domain with logical objects that have variable behavior. Two approaches to supporting connotational subtyping in the Ruby programming language were implemented: a language-level implementation using pure Ruby and a modification to the Ruby 1.8.7 interpreter. While neither implementation was wholly successful the language level implementation created complications with reflective language features like <b>self</b> and <b>super</b> and, while Ruby 1.8.7 has been obsoleted by Ruby 1.9 (YARV), the results suggest that Chambers-style, predicate-based runtime type inference could be incorporated into Ruby with only some reduced interpreter performance.</p>
Degree
thesis:*- Name thesis:degree_name
- MS (Master of Science)
- Level thesis:degree_level
- Thesis - unrestricted
- Discipline thesis:degree_discipline
- Computer and Information Science
- Year dc:date.issued
- 2012
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Dillon, Ian S
Subjects
dc:subject × 6Rights
dc:rights- Statement dc:rights
-
- Copyright by the authors.
Identifiers
dc:identifier.*- Repository record dc:identifier
- https://dc.etsu.edu/etd/1497
- OAI identifier oai:identifier
- oai:dc.etsu.edu:etd-2690