Back to results

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 × 6

Rights

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

Chain of custody

source
Harvested from
East Tennessee State University
Base URL
dc.etsu.edu/do/oai/
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Dillon, Ian S. Connotational Subtyping and Runtime Class Mutability in Ruby. Thesis - unrestricted thesis, 2012. https://dc.etsu.edu/etd/1497