programming languages

Package Managers à la Carte: A Formal Model of Dependency Resolution

arXiv:2602.18602 · doi:10.1145/3828699

summary

The paper introduces the Package Calculus, a formal model that captures the core semantics of dependency resolution across different package managers, enabling precise cross‑ecosystem dependency expression.

Abstract

Package managers are legion. Every programming language and operating system has its own solution, each with subtly different semantics for dependency resolution. This fragmentation prevents multilingual projects from expressing precise dependencies across language ecosystems; it leaves external system dependencies implicit and unversioned; and it obscures the full dependency graph that supply-chain analysis depends on. We present the Package Calculus, a formalism for dependency resolution that unifies the core semantics of package managers. Through a series of formal reductions, we show how this core is expressive enough to model the diversity of real-world dependency expression languages. The calculus provides the theoretical foundation for future cross-ecosystem tooling, as a lingua franca of dependency expression.

35 pages, 12 figures. To appear in Proc. ACM Program. Lang. 10, ICFP, Article 301, August 2026

Topics & keywords

#dependency resolution#package management#formal methods#software supply chain#cross‑ecosystem toolingPackage Calculusformal semanticsdependency graphsemantic reductioncross‑language dependencies
Package Managers à la Carte: A Formal Model of Dependency Resolution · wovepaper