• Calling foreign code from Mercury: | How to implement a Mercury predicate or function as a call to code written in a different programming language. | |
• Calling Mercury from foreign code: | How to call a Mercury predicate or function from a different programming language. | |
• Data passing conventions: | How Mercury types are passed to different languages. | |
• Using foreign types from Mercury: | How to use a type defined in a different programming language in Mercury code. | |
• Using foreign enumerations in Mercury code: | How to use an enumeration type defined in a foreign language in Mercury code. | |
• Using Mercury enumerations in foreign code: | How to use an enumeration type defined in Mercury in a different programming language. | |
• Adding foreign declarations: | How to add declarations of entities in other programming languages. | |
• Declaring Mercury exports to other modules: | How to call Mercury procedures from a different programming language in another module. | |
• Adding foreign definitions: | How to add definitions of entities in other programming languages. | |
• Language specific bindings: | Information specific to each foreign language. | |
This chapter documents the foreign language interface.