Walter:

> As we all know, tool support is important for D's success. Making tools 
> easier 
> to build will help with that.
> 
> To that end, I think we need a lexer for the standard library - 
> std.lang.d.lex. 
> It would be helpful in writing color syntax highlighting filters, pretty 
> printers, repl, doc generators, static analyzers, and even D compilers.

This is a quite long talk by Steve Yegge that I've just seen (linked from 
Reddit):
http://vimeo.com/16069687

I don't suggest you to see it all unless you are very interested in that topic. 
But the most important thing it says is that, given that big software companies 
use several languages, and programmers often don't want to change their 
preferred IDE, there is a problem: given N languages and M editors/IDEs, total 
toolchain effort is N * M. That means N syntax highlighters, N indenters, N 
refactoring suites, etc. Result: most languages have bad toolchains and most 
IDEs manage very well only one or very few languages.

So he has suggested the Grok project, that allows to reduce the toolchain 
effort to N + M. Each language needs to have one of each service: indenter, 
highlighter, name resolver, refactory, etc. So each IDE may link (using a 
standard interface provided by Grok) to those services and use them.

Today Grok is not available yet, and its development is at the first stages, 
but after this talk I think that it may be positive to add to Phobos not just 
the D lexer, but also other things, even a bit higher level as an indenter, 
highlighter, name resolver, refactory, etc. Even if they don't use the standard 
universal interface used by Grok I think they may speed up the development of 
the D toolchain.

Bye,
bearophile

Reply via email to