A really helpful analogy: dynamic programming is bottom-up memoisation:
miniblog.
Related Posts
PL module systems impacting IDE design, and how salsa (Rust memoisation library for trees of function calls) is used in rust-analyzer:
IPython's %timeit magic is not easily fooled -- it can spot memoisation! I'm impressed.
