Sciweavers

AOSD
2015
ACM

Dynamically composing languages in a modular way: supporting C extensions for dynamic languages

8 years 5 days ago
Dynamically composing languages in a modular way: supporting C extensions for dynamic languages
Many dynamic languages such as Ruby, Python and Perl offer some kind of functionality for writing parts of applications in a lowerlevel language such as C. These C extension modules are usually written against the API of an interpreter, which provides access to the higher-level language’s internal data structures. Alternative implementations of the high-level languages often do not support such C extensions because implementing the same API as in the original implementations is complicated and limits performance. In this paper we describe a novel approach for modular composition of languages that allows dynamic languages to support C extensions through interpretation. We propose a flexible and reusable cross-language mechanism that allows composing multiple language interpreters, which run on the same VM and share form of intermediate representation – in this case abstract syntax trees. This mechanism allows us to efficiently exchange runtime data across different interpreters a...
Matthias Grimmer, Chris Seaton, Thomas Würthi
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where AOSD
Authors Matthias Grimmer, Chris Seaton, Thomas Würthinger, Hanspeter Mössenböck
Comments (0)