A First Look at Scala Macros