Inter-language Collaboration in an Object-oriented Virtual Machine
Matthias Springer

TL;DR
This paper presents MagLev, a multi-language virtual machine that enables seamless inter-language collaboration between Ruby and Smalltalk, unifying their object models and allowing cross-language method calls.
Contribution
It introduces a novel approach to unify Ruby and Smalltalk object models within a single VM, facilitating inter-language interaction and method invocation.
Findings
Successful unification of Ruby and Smalltalk object models.
Implementation of cross-language method calls via bridge methods.
Comparison showing advantages over other language VM solutions.
Abstract
Multi-language virtual machines have a number of advantages. They allow software developers to use software libraries that were written for different programming languages. Furthermore, language implementors do not have to bother with low-level VM functionality and their implementation can benefit from optimizations in existing virtual machines. MagLev is an implementation of the Ruby programming language on top of the GemStone/S virtual machine for the Smalltalk programming language. In this work, we present how software components written in both languages can interact. We show how MagLev unifies the Smalltalk and the Ruby object model, taking into account Smalltalk meta classes, Ruby singleton classes, and Ruby modules. Besides, we show how we can call Ruby methods from Smalltalk and vice versa. We also present MagLev's concept of bridge methods for implementing Ruby method calling…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Advanced Software Engineering Methodologies · Model-Driven Software Engineering Techniques
