On Thu, Oct 8, 2009 at 4:00 AM, Don <nos...@nospam.com> wrote: >> So it looks to me like the mechanics of it are basically identical. >> Just Nemerle's syntax is nicer. > > Only with trivial examples. With more complicated examples they look less > identical. I'm basing my views on pages like this: > > http://nemerle.org/Macros_-_extended_course._Part_2 > > Unless I'm totally misunderstanding this, it looks to me as though Nemerle > macros are implemented as compiler plugins. > All the advanced facilities are obtained by exposing the compiler's API!
Well they're not.. "plugins" per se as much as "compiled modules." Okay yes that's basically a plugin :P But it's not that different from D, where you use compile-time executed functions to do the same sorts of things. It's just that you precompile those functions instead of having the compiler "compile" them on every compilation. But really, I don't see how this is significantly different from hooking into the D compiler's internals with __traits, .stringof, .mangleof and the like. So it uses an object-oriented API to access those things instead of ad-hoc hacks. And? I don't know how you can trash Nemerle's approach while leaving D's unmentioned.