sum_mag v0.0.5 SumMag
SumMag: a meta-programming library for Hastega and Cockatorice.
Link to this section Summary
Link to this section Functions
## Examples
iex> :func |> SumMag.concat_name_nif(%{}) :func_nif
## Examples
iex> :hastega |> SumMag.concat_name_stub(%{}) :hastegastub
## Examples
iex> [] |> SumMag.convert_args(%{}) []
iex> [{:a, [], Elixir}] |> SumMag.convert_args(%{}) [:a]
iex> [{:a, [], Elixir}, {:b, [], Elixir}] |> SumMag.convert_args(%{}) [:a, :b]
## Examples
iex> [{:null, [context: Elixir], []}, [do: {:nil, [], Elixir}]] |> SumMag.parse_args(%{}) []
iex> [{:func, [context: Elixir], [{:a, [], Elixir}]}, [do: {:a, [], Elixir}]] |> SumMag.parse_args(%{}) [:a]
iex> [{:add, [context: Elixir], [{:a, [], Elixir}, {:b, [], Elixir}]},[do: {:+, [context: Elixir, import: Kernel], [{:a, [], Elixir}, {:b, [], Elixir}]}]] |> SumMag.parse_args(%{}) [:a, :b]
## Examples
iex> [{:null, [context: Elixir], []}, [do: {:nil, [], Elixir}]] |> SumMag.parse_do(%{}) [{:nil, [], Elixir}]
iex> [{:func, [context: Elixir], [{:a, [], Elixir}]}, [do: {:a, [], Elixir}]] |> SumMag.parse_do(%{}) [{:a, [], Elixir}]
iex> [{:add, [context: Elixir], [{:a, [], Elixir}, {:b, [], Elixir}]},[do: {:+, [context: Elixir, import: Kernel], [{:a, [], Elixir}, {:b, [], Elixir}]}]] |> SumMag.parse_do(%{}) [{:+, [context: Elixir, import: Kernel], [{:a, [], Elixir}, {:b, [], Elixir}]}]
## Examples
iex> [{:null, [context: Elixir], []}, [do: {:nil, [], Elixir}]] |> SumMag.parse_function_name(%{}) :null
iex> [{:func, [context: Elixir], [{:a, [], Elixir}]}, [do: {:a, [], Elixir}]] |> SumMag.parse_function_name(%{}) :func
iex> [{:add, [context: Elixir], [{:a, [], Elixir}, {:b, [], Elixir}]},[do: {:+, [context: Elixir, import: Kernel], [{:a, [], Elixir}, {:b, [], Elixir}]}]] |> SumMag.parse_function_name(%{}) :add