The Essence of Ruby
نویسندگان
چکیده
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.
منابع مشابه
Evaluation of the efficacy of the Q switched ruby laser in the treatment of benign pigmented skin lesions
Background and aim: It is possible to use light sources suxh as lasers to destruct melanosomes and treat pigmented skin lesions. One of the most commonly used laser systems is Q switched ruby laser with a wave-length of 694 nm. This study was performed to evaluate the efficacy of the Q switched ruby laser in the treatment of pigmented skin lesions including lentigines (simplex or solar) and caf...
متن کاملiRho : the Software [ System
This paper describes the first implementation of an interpreter for iRho, an imperative version of the Rewriting-calculus, based on pattern-matching, pattern-abstractions, and side-effects. The implementation contains a parser and a call-by-value evaluator in Natural Semantics; everything is written using the programming language Scheme. The core of this implementation (evaluator) is certified ...
متن کاملThe Essence of Object-Based Embedded Domain-Specific Languages
Embedded domain-specific languages (EDSLs) provide targeted language support for writing programs in a particular application domain while sharing syntax with the host language. In this paper, we study what we call object-based embedded DSLs (OOEDSLs), which are popular in the Ruby community but have received little attention in the research literature. The key idea of OOEDSLs is to implement l...
متن کاملVariability Management for Product Lines with XVCL
Managing variability is the essence of software product line (PL) practice. With many variant features and complex dependencies among them, it also becomes a major challenge for effective reuse. Without an adequate technique for managing variability, we face problems such as explosion of similar component versions, or difficulty to select and then adapt component configurations during reuse-bas...
متن کاملبررسی ساحت ذات احدیت از منظر عرفان نظری.
The stage of the Unity essence is the first stage of manifestation and determination of the essence of the “Unseen of the Unseens” in which the names and entities have conceptual and denotation unity with each other and with the Essence. Perception of the unity essence in mystics language is usually uttered as the stage of manifestation of presence of ipseity and the Unseen of the Unseens and t...
متن کامل