Join Nostr
2026-09-24 18:03:02 UTC

Simon Tournier on Nostr: Hi ryan « Package Managers à la Carte – A Formal Model of Dependency Resolution ...

Hi

« Package Managers à la Carte – A Formal Model of Dependency Resolution »
https://doi.org/10.1145/3828699

Cool, very nice and great paper! Well, to be honest, I’m not able to parse all in this paper; it’ll deserve a huge mug of coffee and some free time ahead. So maybe my question is already answered. 😁

🤔 What I’m missing is the definition of “package” and “version”.

2.1.1 « A package is a unit of software – source code, a compiled binary, or data – […] Packages are identified by a name, which refers to a package across its releases, and a version, distinguishing one release from another. »

The exact same source code – the exact same “name” and “version” – can produce two different compiled binaries depending on the compilation options for instance.

What seems lacking in this “Package Calculus“ is thus a third item defining a "package”: the “build script“, no?

Either it’s included in the “version” but the ordering seems lost, either the “Package Calculus“ would need to be updated, no?

Appendix D “Singular Dependencies” speaks about Nix/Guix. And from my understanding, that’s the point of this approach: define a “package” as a “name”, a “version” (= source code release) and a “build script”, no?