Discussion
If It Quacks Like a Package Manager
paulddraper: > If it has transitive execution, it’s a package managerNot really.Spreadsheets, programming language functions, database triggers.To be more accurate, if it downloads artifacts transitively it is a package manager.
Spivak: I could see a case being made that programming language functions, especially in ruby where everything is message passing, forms a package manager. A method might actually want to guarantee that when it sends a message foo that the code receiving it remains fixed.Being able to declare dependencies that granular might actually be great for doing refactors and upgrades.
verdverm: On an aside, the MVS (minimum version selection) is an interesting and understandable algorithm for dependency resolution. Started from Go, CUE uses it now too.https://research.swtch.com/vgo-mvs
amazingman: It's wild to me that MVS didn't get picked up everywhere else for their next-gen package managers. Picking up "fixes" automatically turned out to be a boondoggle, if not a security risk. There's no reason we need to write a SAT solver just to manage our library dependencies.