Hacker News new | past | comments | ask | show | jobs | submit login

They certainly can be quite different things and in all current systems I know of the two are unrelated, but in my system they are one and the same.

That's possible because the source of truth for the IDE's state is an immutable concrete syntax tree. It can be immutable without ruining our costs because it has btree amortization built into it. So basically you can always construct a new tree with some changes by reusing most of the nodes from an old tree. A version history would simply be a stack of these tree references.




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

Search: