[Haskell-cafe] Library function for map+append
Clemens Fruhwirth
clemens at endorphin.org
Tue Aug 18 07:58:31 EDT 2009
2009/8/18 Dusan Kolar <kolar at fit.vutbr.cz>:
> Hello all,
>
> During a small project I'm trying to develop a small application. It
> becomes quite often that I need a function mapapp:
>
> mapapp _ [] ap = ap
> mapapp f (a:as) ap = f a : map f as ap
>
> I tried hoogle to find such a function with no success. Is there any
> function/functions built-in "standard" libraries that could easily satisfy
> the functionality with the same or even better (?) efficiency?
Can't think of something like that either but at least we can make it
shorter and less readable ;)
mapapp f xs tail = foldr ((:) . f) tail xs
> Of course,
> (map f list) ++ append
> would do the same as
>
> mapapp f list append
>
> but with less efficiency. Or am I wrong?
Yes, that is less efficient because ++ has to create N new cons cells
if "list" has length N.
--
Fruhwirth Clemens http://clemens.endorphin.org
More information about the Haskell-Cafe
mailing list