Compiling standard ML to Java bytecodes
- 29 September 1998
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 34 (1) , 129-140
- https://doi.org/10.1145/289423.289435
Abstract
MLJ compiles SML'97 into verifier-compliant Java byte-codes. Its features include type-checked interlanguage working extensions which allow ML and Java code to call each other, automatic recompilation management, compact compiled code and runtime performance which, using a 'just in time' compiling Java virtual machine, usually exceeds that of existing specialised bytecode interpreters for ML. Notable features of the compiler itself include whole-program optimisation based on rewriting, compilation of polymorphism by specialisation, a novel monadic intermediate language which expresses effect information in the type system and some interesting data representation choices.Keywords
This publication has 12 references indexed in Scilit:
- The marriage of effects and monadsPublished by Association for Computing Machinery (ACM) ,1998
- Computational types from a logical perspectiveJournal of Functional Programming, 1998
- Shrinking lambda expressions in linear timeJournal of Functional Programming, 1997
- Flexible representation analysisPublished by Association for Computing Machinery (ACM) ,1997
- Pizza into JavaPublished by Association for Computing Machinery (ACM) ,1997
- ML for the Working ProgrammerPublished by Cambridge University Press (CUP) ,1996
- TILPublished by Association for Computing Machinery (ACM) ,1996
- Formally optimal boxingPublished by Association for Computing Machinery (ACM) ,1994
- Unboxed objects and polymorphic typingPublished by Association for Computing Machinery (ACM) ,1992
- Notions of computation and monadsInformation and Computation, 1991