Short cut fusion

From HaskellWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Short cut fusion is an optimizer method that merges some function calls into one. E.g. map f . map g can be substituted by map (f . g) and filter p . filter q can be substituted by filter (\x -> q x && p x). It can also help to remove intermediate data structures. E.g. computing sum [1..n] does not require an explicit list structure, and the expression is actually translated into a simple loop.

See also correctness of short cut fusion.