purescript-0.15.12: PureScript Programming Language Compiler

Safe Haskell | Safe-Inferred
Language | Haskell2010

Language.PureScript.CoreFn.CSE

Description

This module performs limited common subexpression elimination

Synopsis

- optimizeCommonSubexpressions :: ModuleName -> [Bind Ann] -> Supply [Bind Ann]

# Documentation

optimizeCommonSubexpressions :: ModuleName -> [Bind Ann] -> Supply [Bind Ann] #

Float synthetic Apps (right now, the only Apps marked as synthetic are type class dictionaries being fed to functions with constraints, superclass accessors, and instances of IsSymbol) to a new or existing Let as close to the top level as possible.