Skip to main content

OCaml-Java: OCaml on the JVM

  • Conference paper
Trends in Functional Programming (TFP 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7829))

Included in the following conference series:

Abstract

This article presents the OCaml-Java project whose goal is to allow compilation of OCaml sources into Java bytecodes. The ability to run OCaml code on a Java virtual machine provides the developer with means to leverage the strengths of the Java ecosystem lacking in the OCaml world. Most notably, this includes access to a great number of libraries, and foundations for shared-memory concurrent programming. In order to achieve this, the OCaml-Java project does three contributions: (i) an optimized compiler and runtime support to achieve acceptable performance, (ii) an extension of the classical OCaml typer to allow manipulation of Java elements from the OCaml world, and (iii) a library dedicated to concurrent programming.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Leroy, X., Doligez, D., Frisch, A., Garrigue, J., Rémy, D., Vouillon, J.: Objective Caml (OCaml) programming language website, http://caml.inria.fr/

  2. Chailloux, E., Canou, B., Wang, P.: OCaml for Multicore Architectures, http://www.algo-prog.info/ocmc/web/

  3. Filliâtre, J.-C., Kalyanasundaram, K.: Functory: A Distributed Computing Library for Objective Caml. In: Peña, R., Page, R. (eds.) TFP 2011. LNCS, vol. 7193, pp. 65–81. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  4. Danelutto, M., Di Cosmo, R.: Parmap: minimalistic library for multicore programming, https://gitorious.org/parmap

  5. Stolpmann, G.: Plama: Map/Reduce and distributed filesystem, http://plasma.camlcity.org/

  6. Fournet, C., Le Fessant, F., Maranget, L., Schmitt, A.: JoCaml: A language for concurrent distributed and mobile programming. In: Jeuring, J., Jones, S.L.P. (eds.) AFP 2002. LNCS, vol. 2638, pp. 129–158. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  7. Hickey, R.: The clojure programming language. In: Proceedings of the 2008 Symposium on Dynamic Languages, DLS 2008, pp. 1:1. ACM, New York (2008)

    Google Scholar 

  8. Odersky, M., et al.: The Scala Language, http://www.scala-lang.org/

  9. Goetz, B., et al.: JSR 335: Lambda Expressions for the Java Programming Language

    Google Scholar 

  10. Lea, D.: Concurrency JSR-166 Interest Site

    Google Scholar 

  11. Benton, N., Kennedy, A.: Interlanguage working without tears: blending SML with Java. SIGPLAN Not. 34(9), 126–137 (1999)

    Article  Google Scholar 

  12. Benton, N., Kennedy, A., Russell, G.: Compiling standard ML to java bytecodes. SIGPLAN Not. 34(1), 129–140 (1998)

    Article  Google Scholar 

  13. Reppy, J.: Concurrent ML: Design, application and semantics. In: Lauer, P.E. (ed.) Functional Programming, Concurrency, Simulation and Automated Reasoning. LNCS, vol. 693, pp. 165–198. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  14. Ringenburg, M.F., Grossman, D.: AtomCaml: first-class atomicity via rollback. SIGPLAN Not. 40(9), 92–104 (2005)

    Article  Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Clerc, X. (2013). OCaml-Java: OCaml on the JVM. In: Loidl, HW., Peña, R. (eds) Trends in Functional Programming. TFP 2012. Lecture Notes in Computer Science, vol 7829. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40447-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40447-4_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40446-7

  • Online ISBN: 978-3-642-40447-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics