TY - GEN
T1 - Jeannie
T2 - OOPSLA 2007: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications
AU - Hirzel, Martin
AU - Grimm, Robert
PY - 2007
Y1 - 2007
N2 - 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 Java and 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.
AB - 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 Java and 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.
KW - C
KW - Foreign function interface
KW - JNI
KW - Java
KW - Modular syntax
KW - Programming language composition
KW - Rats
KW - Xtc
UR - http://www.scopus.com/inward/record.url?scp=42149088252&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=42149088252&partnerID=8YFLogxK
U2 - 10.1145/1297027.1297030
DO - 10.1145/1297027.1297030
M3 - Conference contribution
AN - SCOPUS:42149088252
SN - 9781595937865
T3 - Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA
SP - 19
EP - 38
BT - OOPSLA
Y2 - 21 October 2007 through 25 October 2007
ER -