A scala macros interpreter