Installing Orb
First, install Elixir and create an Elixir project with say mix new your_project_name
.
Add orb
to your list of dependencies in mix.exs
:
def deps do
[
{:orb, "~> 0.1.0"}
]
end
Run mix deps.get
.
You can now use Orb
in your modules:
defmodule Example do
use Orb
defw meaning_of_life(), I32 do
42
end
end
wasm_bytes = Orb.to_wasm(Example)
webassembly_text_format = Orb.to_wat(Example)
Serving WebAssembly from Phoenix
Within a Phoenix or other Plug app you can send the WebAssembly bytes like so:
defmodule MyController do
def show(conn, _) do
wasm_bytes = Orb.to_wasm(Example)
conn
|> put_resp_content_type("application/wasm", nil)
|> send_resp(200, wasm_bytes)
end
end