Sweet harmony: the Talk/C++ connection
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Objective ML: an effective object-oriented extension to ML
Theory and Practice of Object Systems - Third workshop on foundations of object-oriented languages (FOOL 3)
Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
H/Direct: a binary foreign language interface for Haskell
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
The design of a class mechanism for Moby
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Is the Java type system sound?
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
The Definition of Standard ML
The Java Language Specification
The Java Language Specification
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Language integration in the common language runtime
ACM SIGPLAN Notices
Adventures in interoperability: the SML.NET experience
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Fine-grained interoperability through mirrors and contracts
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Multi-paradigm Java-Prolog integration in tuProlog
Science of Computer Programming
Operational semantics for multi-language programs
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
O'browser: objective caml on browsers
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Operational semantics for multi-language programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Precision in practice: a type-preserving java compiler
CC'03 Proceedings of the 12th international conference on Compiler construction
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
OCaml-Java: an ML implementation for the Java ecosystem
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
Hi-index | 0.00 |
A good foreign-language interface is crucial for the success of any modern programming language implementation. Although all serious compilers for functional languages have some facility for interlanguage working, these are often limited and awkward to use.This article describes the features for bidirectional interlanguage working with Java that are built into the latest version of the MLj compiler. Because the MLj foreign interface is to another high-level typed language which shares a garbage collector with compiled ML code, and because we are willing to extend the ML language, we are able to provide unusually powerful, safe and easy to use interlanguage working features. Indeed, rather then being a traditional foreign interface, our language extensions are more a partial integration of Java features into SML.We describe this integration of Standard ML and Java, first informally with example program fragments, and then formally in the notation used by The Definition of Standard ML.