Last time this came up: http://news.ycombinator.com/item?id=1468345
Last time this came up: http://news.ycombinator.com/item?id=1468345
a) a special form b) a function call c) a macro
(a) and (b) are obvious, (c) means I would call the compiled macro "function" on the rest of the form and the execute compile-form on the result.
It's unhygenic and there's probably some fatal flaw I didn't catch.
How do you handle special forms? I wrote a toy Lisp interpreter in Clojure, but couldn't figure out how to implement ', which I assumed should be implemented as a special form.
PS similar deal with ` it would be expanded into a bunch of normal forms by the parser ("reader" in lisp-speak) and from there it's implemented with macros and functions, I copied Guy Steele example implementation, you can find it somewhere.