If macros are needed for the definition of a lisp, then you'll eliminate some important Lisps.[1] If you want macros in the one at the link (ulithp), then you only need to write that feature into an evaluator (dare I say, meta-circular) written in ulithp much like what is done in my other Lisp Lithp.[2]
Link [2] looks very nice and IMO would be a much more interesting topic than the trivial ruby implementation.
I apologize for the dismissive rudeness of my first comment... I am tired of the many "I saved a function and its arguments into a list, and then wrote a method to evaluate that list" implementations which seem to be so exciting. Although I guess this isn't a new trend (see lisp in awk [1]).
[1]: http://www-formal.stanford.edu/jmc/recursive/recursive.html
[2]: https://github.com/fogus/lithp/blob/master/src/core.lisp#L10...