A Framework for Interoperability
<|reference_start|>A Framework for Interoperability: Practical implementations of high-level languages must provide access to libraries and system services that have APIs specified in a low-level language (usually C). An important characteristic of such mechanisms is the foreign-interface policy that defines how to bridge the semantic gap between the high-level language and C. For example, IDL-based tools generate code to marshal data into and out of the high-level representation according to user annotations. The design space of foreign-interface policies is large and there are pros and cons to each approach. Rather than commit to a particular policy, we choose to focus on the problem of supporting a gamut of interoperability policies. In this paper, we describe a framework for language interoperability that is expressive enough to support very efficient implementations of a wide range of different foreign-interface policies. We describe two tools that implement substantially different policies on top of our framework and present benchmarks that demonstrate their efficiency.<|reference_end|>
@article{fisher2004a,
    title={A Framework for Interoperability},
    author={Kathleen Fisher, Riccardo Pucella, John Reppy},
    journal={arXiv preprint arXiv:cs/0405084},
    year={2004},
    archivePrefix={arXiv},
    eprint={cs/0405084},
    primaryClass={cs.PL}
}