Steven Schveighoffer wrote:
On Wed, 07 Oct 2009 09:17:59 -0400, Jarrett Billingsley
<jarrett.billings...@gmail.com> wrote:
It's also insanely kludgy and ugly. Bleh.
Ugly, yes. Kludgy, I don't think so. It's only a syntax issue. The basic
concept of passing meta-code to the compiler in the form of raw text is
simple:
mixin() if you want to insert something into the parse step.
is(typeof()) if you want to catch it again after the syntax pass.
stringof if you want to catch it again after the semantic pass.
And that's all. The syntax is ugly, but the semantics are beautifully
elegant.
By contrast, something like Nemerle macros are a kludge. The idea of
providing a 'hook' into the compiler is a horrible hack. It exposes all
kinds of compiler internals. Yes, it has nicer syntax.
If all a macro did was translate a scoped normal symbol to a mixin (or
other macro) statement, would this take care of the ugliness? (would
also be an insanely simple solution)
I think that's where the majority of the ugliness comes from.