Tree Shaking as implemented by Brunch and Webpack default setups at least only prune based on if a module is accessed or not (which is also why it is easy to fool if you use a non-static string for the name). I've not seen any tree shaking yet that does otherwise. Although the fascinating rollup.js does a lot better by pruning functions very effectively, I need to try that one with Elm. :-)
On Wednesday, January 25, 2017 at 2:55:18 AM UTC-7, Robin Heggelund Hansen wrote: > > > Actually tree shaking will do absolutely nothing for Elm code as Elm >> compiles everything into a single module that all highly indirectly >> references itself. It would help with bucklescript as it outputs modules, >> but bucklescript already tree-shakes as part of its compiler optimizations >> anyway. >> > > This is false. You are correct that Elm compiles everything into a single > module, but this means that tree-shaking becomes *easier*, not harder. It > also makes name-mangling much easier, as everything is local-scope. With > Elm code, tree-shaking can be done with Uglify.js. Just tell uglify to warn > you when it removes a function, and you'll see it removes *a lot* of code. > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
