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.

Reply via email to