Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning
1–10 of 57 posts
Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning
#2TL;DR (by ChatGPT)
Stopped reading there.
Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning
#3TL;DR (by ChatGPT) Stopped reading there.
Why? This is exactly the intended use case of such tech.
Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning
#4TL;DR (by ChatGPT) Stopped reading there.
You stopped reading because the author used ChatGPT to create a summary of an article they wrote themselves? This may actually be the best use case for ChatGPT.
Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning
#5What stops statement level versioning?
Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning
#6I think this is effectively achieved by the Unison language: https://www.unison-lang.org/learn/the-big-idea/
Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning
#7What 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
#8I 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
#9This 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
#10When 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.