[breitner15callarity] | Joachim Breitner, Call Arity, Trends in Functional Programming, pp. 34-50, Springer International Publishing, 2015. |
Abstract
Higher order combinators in functional programming languages can lead to code
that would be considerably more efficient if some functions' definitions were
eta-expanded, but the existing analyses are not always precise enough to allow
that. In particular, this has prevented the implementation of foldl via
foldr, which would allow foldl to take part in list fusion.
Call Arity is an analysis that eta-expands functions based on their uses,
instead of their definitions, and is very precise in the presence of recursion.
Its inclusion in GHC now allows foldl-based combinators to take part in list
fusion.
Download
[DOI] |
Original article available at springerlink.com.
BibTeX
Authors at the institute
Former Staff Member |
---|
Dr. rer. nat. Joachim Breitner |