Ruby

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.


References in zbMATH (referenced in 31 articles , 1 standard article )

Showing results 1 to 20 of 31.
Sorted by year (citations)

1 2 next

  1. Richard Beare; Bradley Lowekamp; Ziv Yaniv: Image Segmentation, Registration and Characterization in R with SimpleITK (2018) not zbMATH
  2. Yukinobu Hamuro; Masakazu Nakamoto; Stephane Cheung; Edward Ip: mbonsai: Application Package for Sequence Classification by Tree Methodology (2018) not zbMATH
  3. Alves, Sandra; Fernández, Maribel: A graph-based framework for the analysis of access control policies (2017)
  4. Alves, Sandra; Fernández, Maribel: A framework for the analysis of access control policies with emergency management (2015)
  5. Chen, Tianran; Lee, Tsung-Lin; Li, Tien-Yien: Hom4ps-3: a parallel numerical solver for systems of polynomial equations based on polyhedral homotopy continuation methods (2014)
  6. Garrigue, Jacques (ed.): Programming languages and systems. 12th Asian symposium, APLAS 2014, Singapore, Singapore, November 17--19, 2014, Proceedings (2014)
  7. Rowe, Reuben N. S.; van Bakel, S. J.: Semantic types and approximation for Featherweight Java (2014)
  8. Schoepe, Daniel; Hedin, Daniel; Sabelfeld, Andrei: SeLINQ: tracking information across application-database boundaries (2014)
  9. Ueno, Katsuhiro; Fukasawa, Yutaka; Morihata, Akimasa; Ohori, Atsushi: The essence of Ruby (2014)
  10. Lisitsyn, Sergey; Widmer, Christian; Garcia, Fernando J. Iglesias: Tapkee: an efficient dimension reduction library (2013)
  11. Günther, Sebastian; Sunkle, Sagar: RbFeatures: feature-oriented programming with Ruby (2012) ioport
  12. Klöckner, Andreas; Pinto, Nicolas; Lee, Yunsup; Catanzaro, Bryan; Ivanov, Paul; Fasih, Ahmed: PyCUDA and PyOpenCL: a scripting-based approach to GPU run-time code generation (2012) ioport
  13. Ustalov, D. A.; Goldstein, M. L.: A distributed dictionary -- based morphological analysis framework for Russian language processing (2012) ioport
  14. An, Jong-hoon (David); Chaudhuri, Avik; Foster, Jeffrey S.; Hicks, Michael: Dynamic inference of static types for Ruby (2011)
  15. Bergel, Alexandre: Reconciling method overloading and dynamically typed scripting languages (2011)
  16. Ducournau, Roland; Privat, Jean: Metamodeling semantics of multiple inheritance (2011)
  17. Hemel, Zef; Groenewegen, Danny M.; Kats, Lennart C. L.; Visser, Eelco: Static consistency checking of web applications with WebDSL (2011)
  18. Ortin, Francisco; García, Miguel: Union and intersection types to support both dynamic and static typing (2011)
  19. Yamazaki, Tadashi; Ikeno, Hidetoshi; Okumura, Yoshihiro; Satoh, Shunji; Kamiyama, Yoshimi; Hirata, Yutaka; Inagaki, Keiichiro; Ishihara, Akito; Kannon, Takayuki; Usui, Shiro: Reprint of: Simulation platform: a cloud-based online simulation environment (2011) ioport
  20. Yamazaki, Tadashi; Ikeno, Hidetoshi; Okumura, Yoshihiro; Satoh, Shunji; Kamiyama, Yoshimi; Hirata, Yutaka; Inagaki, Keiichiro; Ishihara, Akito; Kannon, Takayuki; Usui, Shiro: Simulation platform: a cloud-based online simulation environment (2011) ioport

1 2 next