I wrote a little while ago that “I have a feeling that in terms of the ‘defining new syntax structures by being able to take unevaluated code chunks’ aspect of macros, you can get a lot of mileage out of Ruby’s blocks for doing macro-like things. However, macros can do a lot more than that.”
Turns out I’m not the only one to think that Ruby’s a good way to go if you want something with a lot of Lisp groove, including some portion of the power of macros, without jumping all the way into Lisp. Great article there; well worth reading if you’re interested in that sort of thing.