~/talk

The Functional Design of Dep

Talkat dotGo 2017 · on Monday, 2017-11-06· [go]
name:sam boyer
github:sdboyer
slides:none on file

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

  1. 0:00Start
  2. 0:18Functional Design
  3. 0:49Memoization
  4. 1:22Fibonacci the Fibonacci Sequence
  5. 3:32Go Is Not a Functional Language
  6. 6:56Mapping from Project Source To Manifest
  7. 12:58Hidden Easter Egg Command
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.