Back to Search Start Over

OCaml-Java: The Java Virtual Machine as the target of an OCaml compiler.

Authors :
CLERC, XAVIER
Source :
Journal of Functional Programming. 2016, Vol. 26, p1-42. 42p.
Publication Year :
2016

Abstract

This article presents how the compiler from the OCaml-Java project generates Java bytecode from OCaml sources. Targeting the Java Virtual Machine (JVM) is a technological challenge, but gives access to a platform where OCaml can leverage multiple cores and access numerous libraries. We present the main design choices regarding the runtime and the various optimizations performed by the compiler that are crucial to get decent performance on a JVM. The challenge is indeed not only to generate bytecode but to generate efficient bytecode, and to provide a runtime library whose memory footprint does not impede the efficiency of the garbage collector. We focus on the strategies that differ from the original OCaml compiler, as the constraints are quite different on the JVM when compared to native code. The level of performance reached by the OCaml-Java compiler is assessed through benchmarks, comparing with both the original OCaml implementation and the Scala language. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
09567968
Volume :
26
Database :
Academic Search Index
Journal :
Journal of Functional Programming
Publication Type :
Academic Journal
Accession number :
115834520
Full Text :
https://doi.org/10.1017/S0956796816000095