|
MLLIF
a MLIR-based Language to Language Interoperability Flyover
|
MLLIF is a MLIR-based Language-to-Language Interoperability Flyover - with a goal to integrate API of all programming languages.
For details, See docs!
| Frontend | Backend | |
|---|---|---|
| C | ⚗️ | 📌 |
| C++ | ⚗️ | ⚗️ |
| C# | ⚗️ | ⚗️ |
| Origin | Tested on | |
|---|---|---|
| LLVM/Clang (ClangIR) | https://github.com/llvm/clangir | git (2025-01-18) |
| RapidXML | https://rapidxml.sourceforge.net/ | 1.13 |
mllif-cir. For details, See docs.You can use CMake function add_mllif_library in cmake/UseMLLIF.cmake:
as:
It generates platform-dependent shared-object file with MSM file (MLLIF-symbol-model; it's just XML :P).
Let's assume target created with this command uses language 'A'. Bridge from host-language (B) to servant-language (A) involves from this MSM file. Then, with FFI in each language, runtime of B calls bridge between A and B. And that bridge calls runtime of A (created shared-object).
By this approach, Each language can call each other in single process, without any additional communication technics (such as TCP, Unix socket, shared memory, etc...).
For details, See docs!