中文

面向对象虚拟机中的跨语言协作

编程语言 2016-06-14 v1

摘要

多语言虚拟机具有诸多优势。它们允许软件开发人员使用为不同编程语言编写的软件库。此外,语言实现者无需操心底层虚拟机功能,且其实现可以受益于现有虚拟机中的优化。MagLev 是在用于 Smalltalk 编程语言的 GemStone/S 虚拟机之上对 Ruby 编程语言的一种实现。在本工作中,我们展示了用这两种语言编写的软件组件如何交互。我们展示了 MagLev 如何统一 Smalltalk 和 Ruby 对象模型,同时考虑了 Smalltalk 元类、Ruby 单例类和 Ruby 模块。此外,我们展示了如何从 Smalltalk 调用 Ruby 方法以及反之亦然。我们还提出了 MagLev 的桥接方法概念,用于实现 Ruby 方法调用约定。最后,我们将我们的解决方案与其他语言实现和虚拟机进行了比较。

关键词

引用

@article{arxiv.1606.03644,
  title  = {Inter-language Collaboration in an Object-oriented Virtual Machine},
  author = {Matthias Springer},
  journal= {arXiv preprint arXiv:1606.03644},
  year   = {2016}
}