purescript-backend-optimizer
purescript-backend-optimizer copied to clipboard
Float top-level lets
This floats immediate top-level lets into proper top-level bindings, opening up additional optimizations (as the let no longer potentially blocks inlining) while increasing sharing (we don't have to inline the let bindings too).
This does not do any additional let floating in expressions, it only refactors Convert.purs to facilitate the top-level transformation.