Feature: Add Elixir support (Wasm)

オープン
#1,060 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
50/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
elixir, typescript, wasm
領域
web-dev

調査の方向性

Start with LiveCodes' adding-languages checklist, then study how ruby-wasm and python-wasm are wired: the compiler factory, the lang specification file, the result-page runtime script, and the vendors entry. The work is not yet green-lit — the thread is 5 comments deep on day one and asks the maintainer to confirm the Elixir/AtomVM subset target, and the issue author intends to implement it, so confirm claimability before starting. Done means a lang-elixir-wasm specification runs standard-library Elixir offline, plus starter template, docs, and end-to-end tests per the checklist.

索引モデルが issue の本文から書いたものです。

説明

There is currently no option to run Elixir code in LiveCodes. I searched existing issues and found no open request for Elixir support.

Suggested feature

I propose adding Elixir as a script language, targeting the latest stable release (v1.20).

The implementation would follow the existing Wasm runtime pattern used by ruby-wasm and python-wasm:

  • Compiler factory as pass-through: async (code) => code
  • Runtime script loaded in the result page with scriptType: text/elixir-wasm
  • Runtime based on Popcorn / AtomVM, which compiles Elixir to WebAssembly and runs entirely offline in the browser. The public eval demo confirms client-side execution without a server.

Scope for the initial version would cover standard playground usage such as IO, Enum, pipes, and pattern matching. Full OTP features and frameworks such as Phoenix and LiveView would remain out of scope, consistent with AtomVM current subset limitations regarding file I/O, OS processes, and parts of the standard library.

Alternatives considered:

  • Hologram: full-stack framework on top of Phoenix, not suitable for plain Elixir support.
  • Server-side execution: rejected due to the client-side architecture requirement.

If the approach is approved, I will start with a proof of concept including lang-elixir-wasm specification, result page runner script, and vendors entry, then complete the remaining items from the adding-languages checklist including documentation, starter template, and end-to-end tests.

Please confirm whether the Elixir (Wasm) subset limitation is acceptable for the first version, or if a different compiler target is preferred.

Additional context

主要言語
TypeScript
スター
1.5k
フォーク
267
平均マージ
7時間 47分
マージ済み PR(30日)
14

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

live-codes/livecodes のほかの issue

live-codes/livecodes の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。