Skip to content
This repository was archived by the owner on Jun 10, 2024. It is now read-only.
This repository was archived by the owner on Jun 10, 2024. It is now read-only.

Provide Elixir frontend #156

Open
Open
@bitwalker

Description

@bitwalker

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilerIssues pertaining to the compiler with no specific tagpriority:lowWe don't know when we'll get to this

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions