Affiliation:
1. IBM Watson Research Center, Hawthorne, NY
2. New York University, New York, NY
Abstract
Higher-level languages interface with lower-level languages such as C to access platform functionality, reuse legacy libraries, or improve performance. This raises the issue of how to best integrate different languages while also reconciling productivity, safety, portability, and efficiency. This paper presents Jeannie, a new language design for integrating Java with C. In Jeannie, both Javaand C code are nested within each other in the same file and compile down to JNI, the Java platform's standard foreign function interface. By combining the two languages' syntax and semantics, Jeannie eliminates verbose boiler-plate code, enables static error detection across the language boundary, and simplifies dynamic resource management. We describe the Jeannie language and its compiler, while also highlighting lessons from composing two mature programming languages.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
13 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Facilitating the Evolutionary Modifications in Distributed Apps via Automated Refactoring;Lecture Notes in Computer Science;2019
2. Finding and Preventing Bugs in JavaScript Bindings;2017 IEEE Symposium on Security and Privacy (SP);2017-05
3. Short Paper;Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security;2016-10-24
4. River: an intermediate language for stream processing;Software: Practice and Experience;2015-06-05
5. Towards multilingual programming environments;Science of Computer Programming;2015-01