Hello, I have another question regarding the optimisation of Haskell code: I have a relatively inexpensive function generating a long list, imagine something like (I simplified a lot):
l = [ i*i*i | i <- [0..n] ] -- for very large n This long list is consumed several times in the program: x1 = f1 l x2 = f2 x1 l x3 = f3 x2 l I found that the list l is calculated just once and that the computational time is dominated by the allocations and garbage collection. I want to try to force l to be generated on-the-fly every time it is needed, to see if it improves performance. What is a good way to do it? Would something like unsafePerformIO $ return l do the job? Isn'it there any flag for the compiler (ghc) to suggest this optimisation? Thank you for your feedback. Jan -- ------------------------------------------------------------------------- Jan Kybic <[EMAIL PROTECTED]> Odyssee, INRIA, Sophia-Antipolis, France or <[EMAIL PROTECTED]>,tel. work +33 492 38 7589, fax 7845 http://www-sop.inria.fr/odyssee/team/Jan.Kybic/index.en.html _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell