The essence of ruby

Katsuhiro Ueno, Yutaka Fukasawa, Akimasa Morihata, Atsushi Ohori

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

Ruby is a dynamic, object-oriented language with advanced features such as yield operator and dynamic class manipulation. They make Ruby a popular, highly productive scripting language, but they also make the semantics of Ruby complicated and difficult to understand. Even the JIS/ISO standard of Ruby seems to contain some ambiguities. For Ruby to be established as a reliable scripting language, it should have a rigorous semantics. To meet this challenge, we present a formal operational semantics that can serve as a high-level specification for both the users and implementers. The key insight underlying the semantics is that various elaborate features of Ruby can be cleanly represented as a composition of two orthogonal calculi: one for objects and classes and the other for representing control. The presented semantics leads straightforwardly to a reference implementation. Initial evaluation of our implementation confirms that the presented semantics conforms to commonly accepted Ruby behavior.

Original languageEnglish
Title of host publicationProgramming Languages and Systems - 12th Asian Symposium, APLAS 2014, Proceedings
EditorsJacques Garrigue
PublisherSpringer Verlag
Pages78-98
Number of pages21
ISBN (Electronic)9783319127354
DOIs
Publication statusPublished - 2014
Event12th Asian Symposium on Programming Languages and Systems, APLAS 2014 - Singapore, Singapore
Duration: 2014 Nov 172014 Nov 19

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume8858
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other12th Asian Symposium on Programming Languages and Systems, APLAS 2014
Country/TerritorySingapore
CitySingapore
Period14/11/1714/11/19

Keywords

  • Dynamic language
  • Iterator
  • Operational semantics
  • Ruby

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint

Dive into the research topics of 'The essence of ruby'. Together they form a unique fingerprint.

Cite this