A Haskell to Java Virtual Machine code compiler

  • David Wakeling
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1467)


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.


Virtual Machine Garbage Collection Reduction Rule Graph Node Java Virtual Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [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. [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. [3]
    T. Lindholm and F. Yellin. The Java Virtual Machine. Addison-Wesley, September 1996.Google Scholar
  4. [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. [5]
    S. L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.Google Scholar
  6. [6]
    G. L. Steele. Rabbit: A Compiler for Scheme. Technical Report AI-TR-474, MIT Laboratory for Computer Science, 1978.Google Scholar
  7. [7]
    SUN Microsystems Inc. PicoJava I Microprocessor Core Architecture. Technical Report WPR-0014-01, SUN Microsystems, 1997.Google Scholar
  8. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • David Wakeling
    • 1
  1. 1.Department of Computer ScienceUniversity of ExeterExeterUK

Personalised recommendations