Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That is a great idea, if you can get it to work.

I think your nomenclature's wrong, though. If you are comparing via the AST, it's lexical version control.

However, on your second paragraph:

> That is, if you move a function, I can see that as a single action even if you modify the function a little bit when moving it

That already seems a bit more semantic than lexical.



Well, I'm using the AST to power most of the analysis. So the first-order diff is lexical--it works on syntax ignoring whitespace and the like. The second-order stuff, like matching substructures, is based on the first-order diff, but is semantic.

I'm also planning to add more semantic features. In the short-term, I'd like to detect other simple refactorings (particularly renamed variables). In the long run, I might even add very language-specific features (like trying to use type information to help with merging).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: