Jarrett Billingsley wrote:
On Wed, Apr 29, 2009 at 3:03 AM, grauzone <n...@example.net> wrote:

Wow, it actually works. But I really don't understand why. It seems the
compiler directly passes symbols as tuple arguments, and later dumbs it down
to what it needs (like an alias, a type, ...).

Makes me think nobody will ever be able to write a separate bug-free DMD
frontend. I'm scared.

Precisely.  There is no principle of least surprise in the DMD
metaprogramming implementation.  There is no consistency.  And worst
of all, there is no specification.

And that tears down the phrase "The lexer, parser and semantic pass don't know each other so that it's easier to implement a compiler for D". Because a D compiler that doesn't use DMD's front-end is not D compatible. Because the front end *is* the specification of the language.

Reply via email to