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.
IMHO, the coolest thing was when Rob Pike told about the tool they made
for automatically upgrading user source code to their next language
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.
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)