
Who can advise, please, is this for sure that the program \ x -> [f y | y <- g x] is not more expensive in computation than \ x -> let ys = g x in [f y | y <- ys] ? May the difference depend on Haskell implementation? (I suspect that compilers convert one of these programs to another). Thank you in advance for explanation. ----------------- Serge Mechveliani mechvel@botik.ru

Serge D. Mechveliani wrote:
Who can advise, please,
is this for sure that the program
\ x -> [f y | y <- g x]
is not more expensive in computation than
\ x -> let ys = g x in [f y | y <- ys] ? May the difference depend on Haskell implementation?
In GHC (and probably JHC) it shouldn't make any difference, in other compilers it might do. Cheers, Simon
participants (3)
-
Neil Mitchell
-
Serge D. Mechveliani
-
Simon Marlow