Skip to main content

A Haskell to Java Virtual Machine code compiler

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1467))

Included in the following conference series:

Abstract

For some time now, we have been interested in using Haskell to program inexpensive embedded processors, such as those in SUN's new Java family. This paper describes our first attempt to produce a Haskell to Java Virtual Machine code compiler, based on a mapping between the G-machine and the Java Virtual Machine. Although this mapping looks good, it is not perfect, and our first results suggest that the compiled Java Virtual Machine code may be rather larger and slower than one might hope.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. Augustsson and T. Johnsson. Parallel Graph Reduction with the 〈ν,g〉-machine. In Proceedings of the 1989 Conference on Functional Programming Languages and Computer Architecture, pages 202–213. ACM Press, 1989.

    Google Scholar 

  2. S. L. Peyton Jones. Implementing Lazy Functional Languages on Stock Hardware: the Spineless Tagless G-machine. Journal of Functional Programming, pages 127–202, April 1992.

    Google Scholar 

  3. T. Lindholm and F. Yellin. The Java Virtual Machine. Addison-Wesley, September 1996.

    Google Scholar 

  4. M. Odersky and P. Wadler. Pizza into Java: Translating Theory into Practice. In Proceedings of the 1997 ACM Symposium on the Principles of Programming Languages, pages 146–149, January 1997.

    Google Scholar 

  5. S. L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.

    Google Scholar 

  6. G. L. Steele. Rabbit: A Compiler for Scheme. Technical Report AI-TR-474, MIT Laboratory for Computer Science, 1978.

    Google Scholar 

  7. SUN Microsystems Inc. PicoJava I Microprocessor Core Architecture. Technical Report WPR-0014-01, SUN Microsystems, 1997.

    Google Scholar 

  8. D. Wakeling. A Throw-away Compiler for a Lazy Functional Language. In M. Takeichi and T. Ida, editors, Fuji International Workshop on Functional and Logic Programming, pages 287–300. World Scientific, July 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Chris Clack Kevin Hammond Tony Davie

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wakeling, D. (1998). A Haskell to Java Virtual Machine code compiler. In: Clack, C., Hammond, K., Davie, T. (eds) Implementation of Functional Languages. IFL 1997. Lecture Notes in Computer Science, vol 1467. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055423

Download citation

  • DOI: https://doi.org/10.1007/BFb0055423

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64849-9

  • Online ISBN: 978-3-540-68528-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics