On Sat, Nov 17, 2007 at 04:01:34PM +0000, Andrew Coppin wrote: > Suppose I write something like this: > > foo :: [Int] > foo = concat (replicate 4 [4,7,2,9]) > > The value of "foo" is completely determined at compile-time. So, will the > compiler generate calls to concat and replicate, or will it just insert a > large list constant here? > > Obviously, once somebody has completely examined the contents of "foo", > after that point it won't matter either way. I'm just curiose. > Concatinating some strings is cheap; I sometimes write constructs like the > above using much more expensive operations. (Expensive in time; the space > taken up by the result isn't that great.)
The compiler will generate calls to concat and replicate. Stefan, who is pretty sure he has a proposal for generalized folding pragmas Stefan
signature.asc
Description: Digital signature
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe