BYQMDP2IKXLPX4G3AXE26QVFRRKFU665REQCT7L2P37B4DLGI2TAC int identity(int a) {return a;}
defp compile_function(%{code: %{expr: exprs, locals: []}}) dofunction_body = compile_function_body(exprs)function_desc = [{:clause, 4, [], [], function_body}]
defp compile_function(%{code: %{expr: exprs, locals: []}}, {params, _} = _type) dofunction_params = compile_function_params(params)function_body = compile_function_body(exprs, function_params)function_desc = [{:clause, 4, function_params, [], function_body}]
defp compile_function_body([instr | rest], acc) dobeam_instr = compile_instruction(instr)compile_function_body(rest, [beam_instr | acc])
defp compile_function_params([param | rest], acc) docompile_function_params(rest, [compile_function_param(param) | acc])enddefp compile_function_param(:i32) dosuf = :crypto.strong_rand_bytes(2) |> Base.encode16()var_name = "V_#{suf}" |> String.to_atom(){:var, 4, var_name}
defp compile_instruction({:"i32.const", val}) do
defp compile_function_body(exprs, params) docompile_function_body(exprs, params, [])enddefp compile_function_body([], _, acc) doEnum.reverse(acc)enddefp compile_function_body([instr | rest], params, acc) dobeam_instr = compile_instruction(instr, params)compile_function_body(rest, params, [beam_instr | acc])enddefp compile_instruction({:"i32.const", val}, _) do