O'Jacare is a code generator to help in interoperability between Java and O'Caml through their object model. O'Jacare defines a simple IDL for Java's classes and interfaces descriptions. For communications from Java to O'Caml it owns a callback mechanism. So, you can easily override in O'Caml a method defined in Java. The implementation is based an each language low-level interfaces with C (JNI for Java and external for O'Caml) and uses an extended version of the camljava library. O'Jacare generates all needed wrapper classes and enables static typechecking in both world.

Saffire is a static analysis program that detects bugs in programs that use the OCaml/C foreign function interface. Saffire works by performing type inference across both OCaml and C to make sure that values are used consistently across the language boundary. For instance, if a OCaml passes a record to a C function, that C function should not treat the data as an integer. Saffire also tracks what C variables point into the OCaml heap and ensure they are always registered with CAMLparam/local before any allocation functions are called.

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as Java, OCAML and C#.