On 2004-10-12 at 18:07+0200 Christian Hofer wrote: > Hi, > > having found a bit of time to play with Haskell, I am trying to figure > out how to enforce strict evaluation. > I wrote the following program: > > main = > let x = zipWith (+) [5..] [6..] > in putStrLn $ show $ x `seq` head x > > I expected this program not to terminate - because of the seq-Operator, > but it happily returns 11 in ghc as well as in ghci. What do I make > wrong?
head is strict in its first argument, so x `seq` head x is equivalent to head x. seq only evaluates to (w?)hnf. To do more you would need deepSeq. -- Jón Fairbairn [EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe