8000 GitHub - mllif/mllif-project: MLLIF is a MLIR based Language to Language Interoperability Flyover - with a goal to integrate API of all programming languages.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

MLLIF is a MLIR based Language to Language Interoperability Flyover - with a goal to integrate API of all programming languages.

License

Notifications You must be signed in to change notification settings

mllif/mllif-project

Repository files navigation

🎉 Welcome to MLLIF!

MLLIF is a MLIR-based Language-to-Language Interoperability Flyover - with a goal to integrate API of all programming languages.

For details, See docs!

📈 Currently...

Frontend Backend
C ⚗️ 📌
C++ ⚗️ ⚗️
C# ⚗️ ⚗️
  • ✅ : Implemented, tested enough
  • ⚗️ : Implemented, but in experimental state
  • 🦺 : Working in progress
  • 📌 : Planned

📦 Dependencies

Origin Tested on
LLVM/Clang (ClangIR) https://github.com/llvm/clangir git (2025-01-18)
RapidXML https://rapidxml.sourceforge.net/ 1.13
  • Tested on git means it tested with submodule or local-clone of master branch of it

🧐 Briefly, How does this work?

Warning

Currently, CMake script supports clang-based languages only because this method depends on mllif-cir. For details, See docs.

You can use CMake function add_mllif_library in cmake/UseMLLIF.cmake:

add_mllif_library(<target> <language> <sources>...)

as:

add_mllif_library(my-project CXX main.cxx foo.cxx)

Note

language should be language identifier in CMake

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!

About

MLLIF is a MLIR based Language to Language Interoperability Flyover - with a goal to integrate API of all programming languages.

Topics

Resources

License

Stars

Watchers

Forks

0