firefly icon indicating copy to clipboard operation
firefly copied to clipboard

Provide Elixir frontend

Open bitwalker opened this issue 6 years ago • 1 comments

In order to have a way to compile a Mix project via Lumen in the near term, we are going to use a Mix task which compiles the Elixir source via BEAM, converts the compiled code to Erlang source using the Erlang compiler API, and places it in an incremental compilation directory under _build. This will then be fed to Lumen as the input for compilation to native code.

The code for this initial tooling is located at https://github.com/lumen/lumen_elixir, it is currently in a draft state.

In the long term, we will ultimately want the Lumen compiler to be bootstrapped with its own OTP standard library, with a compiler module that invokes the Lumen compiler infrastructure instead. This would then be used to build a version of the compiler that can build from Elixir source directly, without requiring the BEAM at all. Unfortunately there are a lot of technical challenges involved here, so we need to use the above workaround until we have time to dedicate to the bootstrapping process.

bitwalker avatar Jun 07 '19 17:06 bitwalker

Blocked on compiler implementation discussed with Jose

bcardarella avatar Dec 09 '20 15:12 bcardarella