Live data from Hacker News

Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

github.com

1–10 of 57 posts

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#7
What if the functions modify some type of external state. E.g. in TypeScript, what if a module property is updated by one function and referenced in a different function? How would two functions share the same state if they were at different versions?

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#8
I agree, it would be nice to have a refactoring workflow that every program modification only creates new functions, never changes existing ones. Then we could get automated testing of new functions against old functions, or even, automated proof that the change doesn't affect the result.

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#9
This will make the chaos worse. Instead of having to figure out compatible versions of dozens of packages, you will now have to figure out compatible versions of thousands of functions.

The solution to dependency chaos is grouping dependencies together and versioning the larger group, not splitting into even more dependencies.

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#10
When a dependency changes versions, I need to update my own code to account for the dependency changes. Then I have to go through the (possibly arduous) process of reconciling those changes with other dependencies that have yet to go through this process.

Version information is essentially a lossy compression- all the changes that go into a given release are summarized into a handful of numbers. Whether this happens at the component level or the function level only changes how lossy the versioning step is. I am not convinced it improves the workflow described above.

Post reply on HN