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

Reply via email to