Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A transformation-based optimiser for Haskell
Science of Computer Programming - Special issue on the 6th European symposium on programming
Compiling lazy functional programs to Java bytecode
Software—Practice & Experience
Interlanguage working without tears: blending SML with Java
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Java Virtual Machine Specification
Java Virtual Machine Specification
Correctness of Procedure Representations in Higher-Order Assembly Language
Proceedings of the 7th International Conference on Mathematical Foundations of Programming Semantics
Compiling lazy functional programs for the Java Virtual Machine
Journal of Functional Programming
Distributed Execution of Functional Programs Using the JVM
Computer Aided Systems Theory - EUROCAST 2001-Revised Papers
Hi-index | 0.00 |
A systematic method of compiling lazy functional programs based on the Spineless Tagless G-machine (STGM) is presented for the Java Virtual Machine (JVM). A new specification of the STGM, which consists of a compiler and a reduction machine, is presented; the compiler translates a program in the STG language, which is the source language for the STGM, into a program in an intermediate language called L-code, and our reduction machine reduces the L-code program into an answer. With our representation for the reduction machine by the Java language, an L-code program is translated into a Java program simulating the reduction machine. The translated Java programs also run at a reasonable execution speed. Our experiment shows that execution times of translated benchmarks are competitive compared with those in a traditional Haskell interpreter, Hugs, particularly when Glasgow Haskell compiler's STG-level optimizations are applied.