ECLiPSe is a software engine for constraint propagation and search tasks. As such, it represents its data in a form that is different from how it would be represented in a traditional C/C++ program. In particular, the ECLiPSe data representation supports automatic memory management and garbage collection, modifications that can be undone in a search context, referential transparency and dynamic typing.
In a mixed-language application, there are two basic ways of communicating information between the components coded in the different languages:
Both techniques are supported by the ECLiPSe/C and ECLiPSe/C++ interface.