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!