Current section
Files
Jump to
Current section
Files
lib/instructions.ex
defmodule Elixush.Instructions do
import Elixush.Instructions.{}
defmacro __using__(_opts) do
quote do
require Logger
modules = ["Common", "Integer", "Float", "Boolean"]
Enum.each(modules, fn(module) ->
{funcs, _args} = Code.eval_string("Elixush.Instructions.#{module}.__info__(:functions)")
Enum.each(funcs, fn{f_atom, f_arity} ->
f_string = Macro.to_string(f_atom)
f_string = "&Elixush.Instructions.#{module}." <> String.strip(to_string(f_string), ?:) <> "/" <> to_string(f_arity)
{f_partial, _args} = Code.eval_string(f_string)
Elixush.PushState.define_registered(f_atom, f_partial)
end)
end)
Logger.info("Instructions:\n#{inspect(Elixush.Globals.Agent.get_globals(:instruction_table), pretty: true)}")
end
end
end