Thanks for the exhaustive answer. Andrew
On Wed, Feb 13, 2013 at 2:57 PM, Alp Mestanogullari <alpmes...@gmail.com>wrote: > If a difference appears, I believe > http://blog.johantibell.com/2010/09/static-argument-transformation.htmlwould > be involved. Also, the second map function could be inlined by GHC, > avoiding calling "f" through a pointer because at the call site, we know > what 'f' is (this is also mentionned in the blog post by Johan). > > > On Wed, Feb 13, 2013 at 9:55 AM, Andrew Polonsky < > andrew.polon...@gmail.com> wrote: > >> Hello, >> >> Is there any difference in efficiency between these two functions, when >> compiled with all optimizations? >> >> map f [] = [] >> map f (a:as) = f a : map f as >> >> and >> >> map f x = map' x where >> map' [] = [] >> map' (a:as) = f a : map' as >> >> Thanks, >> Andrew >> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> > > > -- > Alp Mestanogullari >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe