Interoperability in a Scripted World: Putting Inheritance & Prototypes Together
Scripting languages are used to quickly and easily develop or extend programs. Frequently, these scripted programs are combined with libraries and other programs from conventional languages to build more complex applications. Bridging the gap between different languages requires manual data conversions and dynamic checks which can introduce subtle errors. Language and compiler support for interoperability can simplify the task of writing programs with multiple languages. The authors' previous compilation techniques allow any given value to pass from one language to another and be used as a native value for languages with similar runtime semantics. In this paper, they support interoperability between languages with different runtime semantics while still allowing a free exchange of values and maintaining type-safety.