tree-shaking, the horticulturally misguided algorithm (blog post)
tree-shaking, the horticulturally misguided algorithm (blog post)
wingolog.org
tree-shaking, the horticulturally misguided algorithm — wingolog
I'm glad to work in compiled languages, where figuring out which types and functions can be removed without affecting the program is a decidable problem.
Except Java/Scala/Kotlin have reflection, so maybe not...still, it's a lot easier to mark everything accessible from reflection, then mark everything accessible everywhere because a variable lookup itself is a form of reflection, and an arbitrary function call can modify or even un-define any of your in-scope variables.