All Mercury implementations should support interfacing with C. The set of other languages supported is implementation-defined. A suitable compiler or assembler for the foreign language must be available on the system.
The University of Melbourne Mercury implementation supports interfacing with the following languages:
"C" to set the foreign language to C.
"C#" to set the foreign language to C#.
"Java" to set the foreign language to Java.
"Erlang" to set the foreign language to Erlang.