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

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to