Ruby Object Model
- The S1 structure

(Abstract)

An algebraic structure is described that forms the innermost core of the object model of the Ruby programming language. The structure, denoted S1, is induced by superclass and eigenclass links between objects. Since Ruby is a serious candidate for the most object-oriented programming language in the world, the S1 structure can be considered to be the core structure of object technology.

We provide a simple set-theoretic representation showing how the structure can be interpreted via set inclusion and set membership. We also describe lazy evaluation of infinite eigenclass chains. Finally, the Smalltalk precursor of the S1 structure is discussed.

References

  1. David A. Black. The Well-Grounded Rubyist. Manning Publications, 2009.
  2. Egon Börger and Robert Stärk Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, 2003.
  3. C. C. Chang and H. Jerome Keisler. Model Theory. Studies in Logic and the Foundations of Mathematics. Elsevier, third edition, 1990.
  4. B. Davey and H. Priestley. Introduction to Lattices and Order. Cambridge University Press, second edition, 2002.
  5. David Flanagan and Yukihiro Matsumoto. The Ruby Programming Language. O'Reilly, 2008.
  6. Adele Goldberg and David Robson. Smalltalk-80: The Language and Its Implementation. Addison Wesley, 1983.
  7. Yuri Gurevich. Evolving Algebras 1993: Lipari Guide. Specification and Validation Methods, E. Börger (ed.). Oxford University, Press 1995.
  8. John Hunt. Smalltalk and Object Orientation: An Introduction. Springer Verlag, 1997.
  9. F. A. Muller. The Characterisation of Structure: Definition versus Axiomatisation. The Present Situation in the Philosophy of Science, F. Stadler et al. (eds.) Dordrecht: Springer Verlag, 2010.
  10. Ondřej Pavlata. The Ruby Object Model: Data Structure in Detail. http://www.atalon.cz/rb-om/ruby-object-model/.
  11. Ondřej Pavlata. The Ruby Object Model: Comparison with Smalltalk-80. http://www.atalon.cz/rb-om/ruby-object-model/co-smalltalk/.
  12. Robert Stärk, Joachim Schmid, Egon Börger. Java and the Java Virtual Machine. Definition, Verification, Validation. Springer Verlag, 2001.