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 elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to