Closed Immortalin closed 4 years ago
Also would be ideal if V can support node-style multiple conflicting libraries/Java class loaders.
I.e. library A can depend on library B version one and library C can depend on library B version two and they won't conflict when built and linked into the same binary. This feature of Nodejs allows it to take a lot of shortcuts with dependency management. No need for SAT/combinatorial constraint solvers etc. to solve versioning problems. Just pull in everything stated in the dependencies file.
See this for more info: https://thefeedbackloop.xyz/thoughts-on-dependency-hell-is-np-complete/
Tools like Bundle etc. depends on a ton of heuristics etc. There's no need to replicate Z3 if we can just cut out the knot directly.
iirc that's already going to be implemented at some point, but i'll make this issue for discussion of the package manager
And... vpm
is now a thing!
Buggy from time to time but it works. (Use v install
)
Like cargo, go dep/get. There's no need for a centralised registry to get started, just a GitHub repo with a list of links pointing to other projects in e.g. TOML format should be enough and the v tool can search that list. (See Nim's manager)