Personal tools

Short cut fusion

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(short explanation with the usual examples)
Current revision (09:28, 18 January 2008) (edit) (undo)
(added link)
 
Line 3: Line 3:
It can also help to remove intermediate data structures.
It can also help to remove intermediate data structures.
E.g. computing <hask>sum [1..n]</hask> does not require an explicit list structure, and the expression is actually translated into a simple loop.
E.g. computing <hask>sum [1..n]</hask> does not require an explicit list structure, and the expression is actually translated into a simple loop.
 +
 +
See also [[correctness of short cut fusion]].
[[Category:Glossary]]
[[Category:Glossary]]
[[Category:Program transformation]]
[[Category:Program transformation]]

Current revision

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.