Compiling standard ML to Java bytecodes

Nick Benton, Andrew Kennedy, George Russell
1999 SIGPLAN notices  
MLJ compiles SML'97 into verifier-compliant Java bytecodes. 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,
more » ... n of polymorphism by specialisation, a novel monadic intermediate language which expresses effect information in the type system and some interesting data representation choices.
doi:10.1145/291251.289435 fatcat:l46bs46lynhyrgwwxzjquteume