Jeannie

Granting java native interface developers their wishes

Martin Hirzel, Robert Grimm

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 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.

Original languageEnglish (US)
Title of host publicationOOPSLA: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Proceedings
Pages19-38
Number of pages20
DOIs
StatePublished - 2007
EventOOPSLA 2007: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Montreal, QC, Canada
Duration: Oct 21 2007Oct 25 2007

Other

OtherOOPSLA 2007: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications
CountryCanada
CityMontreal, QC
Period10/21/0710/25/07

Fingerprint

Machine oriented languages
High level languages
Error detection
Computer programming languages
Boilers
Productivity
Semantics

Keywords

  • C
  • Foreign function interface
  • Java
  • JNI
  • Modular syntax
  • Programming language composition
  • Rats
  • Xtc

ASJC Scopus subject areas

  • Computer Science(all)
  • Software

Cite this

Hirzel, M., & Grimm, R. (2007). Jeannie: Granting java native interface developers their wishes. In OOPSLA: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Proceedings (pp. 19-38) https://doi.org/10.1145/1297027.1297030

Jeannie : Granting java native interface developers their wishes. / Hirzel, Martin; Grimm, Robert.

OOPSLA: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Proceedings. 2007. p. 19-38.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Hirzel, M & Grimm, R 2007, Jeannie: Granting java native interface developers their wishes. in OOPSLA: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Proceedings. pp. 19-38, OOPSLA 2007: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Montreal, QC, Canada, 10/21/07. https://doi.org/10.1145/1297027.1297030
Hirzel M, Grimm R. Jeannie: Granting java native interface developers their wishes. In OOPSLA: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Proceedings. 2007. p. 19-38 https://doi.org/10.1145/1297027.1297030
Hirzel, Martin ; Grimm, Robert. / Jeannie : Granting java native interface developers their wishes. OOPSLA: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Proceedings. 2007. pp. 19-38
@inproceedings{4724ee6397d64c06b56c193a61f5f62a,
title = "Jeannie: Granting java native interface developers their wishes",
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 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.",
keywords = "C, Foreign function interface, Java, JNI, Modular syntax, Programming language composition, Rats, Xtc",
author = "Martin Hirzel and Robert Grimm",
year = "2007",
doi = "10.1145/1297027.1297030",
language = "English (US)",
isbn = "9781595937865",
pages = "19--38",
booktitle = "OOPSLA: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Proceedings",

}

TY - GEN

T1 - Jeannie

T2 - Granting java native interface developers their wishes

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 - Java

KW - JNI

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

SN - 9781595937865

SP - 19

EP - 38

BT - OOPSLA: 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications - Proceedings

ER -