[Haskell-cafe] Library function for map+append
Artem V. Andreev
artem at AA5779.spb.edu
Tue Aug 18 09:12:37 EDT 2009
Clemens Fruhwirth <clemens at endorphin.org> writes:
> 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.
No, it does not *have to*.
> Fruhwirth Clemens http://clemens.endorphin.org
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
S. Y. A(R). A.
More information about the Haskell-Cafe