How to support do/else/after blocks in your own Elixir functions
I blogged about Elixir’s block keywords.
The blog post explains how they work and implements a silly macro to print a random animal:
MyMacro.pick do
IO.write "dog"
else
IO.write "cat"
after
IO.puts "!"
end