mun-lang / mun

Source code for the Mun language and runtime.

Home Page:https://mun-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Alternative codegen backend to make embedding possible

Timmmm opened this issue · comments

As I understand it, Mun requires LLVM for compilation. That means it is not a good option for embedding in programs - in the same way that you can embed Rhai or Gluon or Lua for example.

The documentation has a section on embedding Mun programs in Rust or C++ but as far as I can tell that still requires you to have already compiled them externally using LLVM.

Perhaps it could support Cranelift too?

You are correct, embedding the compiler is not something we currently easily support. Only running Mun using the mun_runtime crate is. We assume the user is running the compiler daemon separately. The daemon (the mun executable) is statically linked against LLVM, meaning the user doesn't need to have LLVM installed.

Adding cranelift as a target would be really nice though! It also has some nice features that would make hotreloading even faster.