Skip to content

Instantly share code, notes, and snippets.

@deadtrickster
Last active August 22, 2016 18:39
Show Gist options
  • Save deadtrickster/d35636c39fa96d536490c18eb775c9c8 to your computer and use it in GitHub Desktop.
Save deadtrickster/d35636c39fa96d536490c18eb775c9c8 to your computer and use it in GitHub Desktop.
Elixir SuperMacro
defmodule SuperMacro do
:ets.insert(:elixir_module.defs_table(SuperMacro),
{{:def, {:qwe, 2}},
:defmacro, 0,
nil,
true, nil,
{0, true, 0}})
:ets.insert(:elixir_module.defs_table(SuperMacro),
{{:clauses,{:qwe, 2}},
{:clause, 0,
[{:var, 0, :_},
{:var,0, :ping},
{:var,0, :pong}],
[],
[{:tuple, 0,
[{:atom, 0, :'+'},
{nil, 0},
{:cons, 0,
{:var, 0, :ping},
{:cons, 0,
{:var, 0, :pong},
{nil, 0}}}]}]}})
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment