On 12/06/2014 18:53, Andrei Alexandrescu wrote:
On 6/12/14, 10:40 AM, Nick Sabalausky wrote:
On 6/10/2014 12:35 PM, justme wrote:
On Wednesday, 4 June 2014 at 06:13:39 UTC, Andrei Alexandrescu wrote:
Of possible interest.
http://www.reddit.com/r/programming/comments/278twt/panel_systems_programming_in_2014_and_beyond/




Andrei

IMHO, the coolest thing was when Rob Pike told about the tool they made
for automatically upgrading user source code to their next language
version.

That should be quite easy to implement now in D, and once done, would
give much needed room for breaking changes we feel should be done. Pike
seemed to be extremely satisfied they did it.

Personally, I wouldn't be comfortable trusting such a tool. Besides, I
find that upgrading a codebase to a newer language version is one of the
most trivial tasks I ever face in software development - even in D.

It's a cute trick, but not a worthwhile use of development resources.

I very much think the opposite, drawing from many years of hacking into
large codebases. I'm completely with Rob here. On a large codebase, even
the slightest manual or semi-manual change is painstaking to plan and
execute, and almost always suffers of human errors.

I got convinced a dfix tool would be a strategic component of D's
offering going forward.


Andrei


What's keeping us from having such a tool? It seems that after one has a decent parser (that also keeps tracks of the source ranges of AST nodes), it's easy to write code that does syntactic modifications and then rewrites the source code. And there's several D parsers out there already - so it should be too much effort to get there.
Even I am working on a tool that can be easily retrofitted for this purpose.

Or maybe I am misunderstanding the amount of semantic analysis that would typically be required? Can someone give some examples of modifications that would be useful for such a dfix tool? (I haven't yet had the time to watch the full panel video, if that's relevant)

--
Bruno Medeiros
https://twitter.com/brunodomedeiros

Reply via email to