The Functional Design of Dep
summary
Claim: dep encodes dependency management as pure function relations and uses memoization plus immutability to avoid recomputing an NP‑complete solve. Implementation: read imports + go‑package.toml + go package.lock → solver → write lock/vendor; the CLI command dep ensure is literally those two functions. Optimization: store a hash of the inputs in the lock and skip the solver when hashes match. Example comparison: naive fib calls explode to 177 for n=10 but memoization drops work to linear; dep’s hashing proves effective in practice.
AI-written summary · about
chapters (7)
- 0:00Start
- 0:18Functional Design
- 0:49Memoization
- 1:22Fibonacci the Fibonacci Sequence
- 3:32Go Is Not a Functional Language
- 6:56Mapping from Project Source To Manifest
- 12:58Hidden Easter Egg Command
related talks
20mdepstat: Analyzing a Go Project’s Dependencies
46mFunctional Programming with Go
29mA History of Dependency Management: 1.0 to Workspaces
21mThree fallacies of dependencies
16mTools for working with Go Code
51mDependency Management
01h 04mAn Introduction to Functional Programming in Go
24mFinal Go panel - part 1
