Metaprogramming - defining a function

See Methods · The Julia Language which describes this quite well.