Hello Taral,

Wednesday, March 22, 2006, 2:14:17 AM, you wrote:

T> On 3/18/06, Manuel M T Chakravarty <[EMAIL PROTECTED]> wrote:
>> Of course, the caller could invoke addmul using a bang patterns, as in
>>
>>   let ( !s, !p ) = addmul x y
>>   in ...
>>
>> but that's quite different to statically knowing (from the type) that
>> the two results of addmul will already be evaluated.  The latter leaves
>> room for more optimisations.

T> I looked back at this, and I'm not sure that this statement (which
T> appears to be the core reason for considering this) is true at all. I
T> don't see that more optimization follows from the availability of
T> information regarding the strictness of a function result's
T> subcomponents.

ghc uses unboxed tuples just for such sort of optimizations. instead
of returning possibly-unevaluated pair with possibly-unevaluated
elements it just return, say, two doubles in registers - a huge win



-- 
Best regards,
 Bulat                            mailto:[EMAIL PROTECTED]

_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime

Reply via email to