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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
T. Lindholm and F. Yellin. The Java Virtual Machine. Addison-Wesley, September 1996.
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.
S. L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.
G. L. Steele. Rabbit: A Compiler for Scheme. Technical Report AI-TR-474, MIT Laboratory for Computer Science, 1978.
SUN Microsystems Inc. PicoJava I Microprocessor Core Architecture. Technical Report WPR-0014-01, SUN Microsystems, 1997.
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.
Author information
Authors and Affiliations
Editor information
Rights 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