Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you use a programming language with a package manager like npm, PIP, CPAN, Pub, Cargo, Bundler, etc. then every time you ask it to figure out what versions of your dependencies to use, you are effectively running a SAT solver.

In particular, pub — the package manager for Dart — explicitly uses the CDCL process described in the article:

https://medium.com/@nex3/pubgrub-2fb6470504f




A notable exception being Go modules, which do Minimal Version Selection [1], a much simpler approach.

[1] https://research.swtch.com/vgo-mvs




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: