Lisp macros need knowledge of the structure of the s-expression.
Certainly one can Church encode s-expressions and provide defmacro.
Gensym is trickier. Hygiene might be really challenging.
I might actually try that out.
(/article author)
I recently rediscovered this for myself: http://arclanguage.org/item?id=11880
http://tfeb.org/lisp/hax.html#CONDUITS
Literally, a package hack with zero implementation :-)
Import defmacro and friends and you have it.