Does Lua support Lazy Evaluation?
I'm working on metalua, a lua compiler which supports macros. However, to implement lazy evaluation properly, you need a bit more than Lisp-style macros, namely code walkers, and that's what I'm implementing right now; moreover, it happens that my test case is lazy evaluation, so stay tuned, hopefully I'll publish an extension supporting lazy eval very soon.
If you're in a hurry, you can hack one by overloading metalua parsers for function calls, definitions, and literal tables.
http://metalua.luaforge.net.