AST Macros?
foobar
foo at bar.com
Tue Jun 5 02:02:32 PDT 2012
On Tuesday, 5 June 2012 at 07:08:19 UTC, Don Clugston wrote:
> On 04/06/12 20:46, Jacob Carlborg wrote:
>> On 2012-06-04 10:03, Don Clugston wrote:
>>
>>> AST macros were discussed informally on the day after the
>>> conference,
>>> and it quickly became clear that the proposed ones were
>>> nowhere near
>>> powerful enough. Since that time nobody has come up with
>>> another
>>> proposal, as far as I know.
>>
>> I think others have suggested doing something similar like
>> Nemerle,
>> Scala or Nimrod.
>>
>
> Yes but only in very vague terms -- not in any more words than
> that. When I look at the Nimrod docs, it basically seems to be
> nothing more than "expose the compiler internal data
> structures". Which is extremely easy to do but causes a heap of
> problems in the long term.
This argument was raised before. That "heap of problems" is as
vague as the proposed AST system(s).
As far as I can tell, that heap of problems is mainly about
making it harder to make internal breaking changes since the
compiler is no longer a black box.
Now, I'd argue that having a stable API for those compiler
internals in needed anyway. Besides the obvious benefits of a
more modular design that better encapsulates the different layers
of the compilation process, it allows us to implement a compiler
as a set of libraries which benefits the tool ecosystem, IDEs,
text-editors, lint tools, etc. Thools which could reuse subsets
of these libraries (e.g. think of Clang's design and how it
allowed for the vim auto-complete plugin).
Even _without_ the AST macros I think it's a worthy goal to
pursuit, AST macros simply make the outcome that much sweeter.
More information about the Digitalmars-d
mailing list