macpato v0.1.2 Macpato

iex> import Macpato
...> expr = quote do
...>   fn a, b, c -> a + b + c end
...> end
...> case expr do
...>   macpato(fn _, b, _ -> _ end) -> :b_is_second_arg
...>   _ -> :dunno
...> end
:b_is_second_arg



iex> import Macpato
...> expr = quote do
...>   fn a, b, c -> a + b + c end
...> end
...> case expr do
...>   macpato(fn _, _, _({name, _, _}) -> _ end) -> name
...> end
:c


iex> import Macpato
...> expr = quote do
...>   fn a -> a + 22 end
...> end
...> x = 22
...> case expr do
...>   macpato(fn _ -> _ + _(^x) end) -> :good
...> end
:good


iex> import Macpato
...> expr = quote do
...>   fn a, b, c -> x end
...> end
...> case expr do
...>   macpato(fn _(@args) -> _ end) -> length(args)
...> end
3

Summary

Functions

macpato_expr(ast, opts \\ [])

Macros

macpato(expr, opts \\ [])