{"id":14991147,"url":"https://github.com/mllif/mllif-project","last_synced_at":"2025-08-20T17:21:41.755Z","repository":{"id":236058869,"uuid":"791821893","full_name":"mllif/mllif-project","owner":"mllif","description":"MLLIF is a MLIR based Language to Language Interoperability Flyover - with a goal to integrate API of all programming languages.","archived":false,"fork":false,"pushed_at":"2025-03-31T14:10:42.000Z","size":987,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T05:05:24.981Z","etag":null,"topics":["clang","clang-frontend","clang-plugin","clangir","interop","interoperability","llvm","llvm-clang","mlir"],"latest_commit_sha":null,"homepage":"http://mllif.sharp0802.com/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mllif.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-25T12:45:25.000Z","updated_at":"2025-03-31T14:10:46.000Z","dependencies_parsed_at":"2024-06-17T12:49:48.690Z","dependency_job_id":"86879f2c-20dc-4f2a-9ee8-67712a1059c5","html_url":"https://github.com/mllif/mllif-project","commit_stats":{"total_commits":241,"total_committers":1,"mean_commits":241.0,"dds":0.0,"last_synced_commit":"88120143334d400f490a0d508769cb340614b7ad"},"previous_names":["sharp0802/lilac","polyglat/polyglat-project","mllic/mllic-project","mllif/mllic-project","mllif/mllif-project"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mllif%2Fmllif-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mllif%2Fmllif-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mllif%2Fmllif-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mllif%2Fmllif-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mllif","download_url":"https://codeload.github.com/mllif/mllif-project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665749,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clang","clang-frontend","clang-plugin","clangir","interop","interoperability","llvm","llvm-clang","mlir"],"created_at":"2024-09-24T14:21:35.725Z","updated_at":"2025-08-20T17:21:41.731Z","avatar_url":"https://github.com/mllif.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎉 Welcome to MLLIF!\n\n***MLLIF*** is a \u003cb\u003e\u003ci\u003eM\u003c/i\u003e\u003c/b\u003eLIR-based \u003cb\u003e\u003ci\u003eL\u003c/i\u003e\u003c/b\u003eanguage-to-\u003cb\u003e\u003ci\u003eL\u003c/i\u003e\u003c/b\u003eanguage \u003cb\u003e\u003ci\u003eI\u003c/i\u003e\u003c/b\u003enteroperability \u003cb\u003e\u003ci\u003eF\u003c/i\u003e\u003c/b\u003elyover -\nwith a goal to integrate API of all programming languages.\n\nFor details, See [docs](https://mllif.sharp0802.com)!\n\n## 📈 Currently...\n\n|     | Frontend | Backend |\n|:---:|:--------:|:-------:|\n|  C  |    ⚗️    |   📌    |\n| C++ |    ⚗️    |   ⚗️    |\n| C#  |    ⚗️    |   ⚗️    |\n\n- ✅ : Implemented, tested enough\n- ⚗️ : Implemented, but in experimental state\n- 🦺 : Working in progress\n- 📌 : Planned\n\n\n## 📦 Dependencies\n\n|                      |              Origin               |    Tested on     |\n|:--------------------:|:---------------------------------:|:----------------:|\n| LLVM/Clang (ClangIR) |  https://github.com/llvm/clangir  | git (2025-01-18) |\n|       RapidXML       | https://rapidxml.sourceforge.net/ |       1.13       |\n\n* **Tested on *git*** means it tested with submodule or local-clone of master branch of it\n\n## 🧐 Briefly, How does this work?\n\n\u003e [!WARNING]\n\u003e Currently, CMake script supports clang-based languages only\n\u003e because this method depends on `mllif-cir`.\n\u003e For details, See [docs](https://mllif.sharp0802.com).\n\nYou can use CMake function `add_mllif_library` in `cmake/UseMLLIF.cmake`:\n\n```cmake\nadd_mllif_library(\u003ctarget\u003e \u003clanguage\u003e \u003csources\u003e...)\n```\n\nas:\n\n```cmake\nadd_mllif_library(my-project CXX main.cxx foo.cxx)\n```\n\n\u003e [!NOTE]\n\u003e language should be language identifier in CMake\n\nIt generates platform-dependent shared-object file with MSM file\n(MLLIF-symbol-model; it's just XML :P).\n\nLet's assume target created with this command uses language ***'A'***.\nBridge from host-language (***B***) to servant-language (***A***) involves from this MSM file.\nThen, with FFI in each language, runtime of ***B*** calls bridge between ***A*** and ***B***.\nAnd that bridge calls runtime of ***A*** (created shared-object).\n\nBy this approach, Each language can call each other in single process,\nwithout any additional communication technics (such as TCP, Unix socket, shared memory, etc...).\n\nFor details, See [docs](https://mllif.sharp0802.com)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmllif%2Fmllif-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmllif%2Fmllif-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmllif%2Fmllif-project/lists"}