id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
5625,Code using seq has wrong strictness when unoptimised (too lazy),michal.palka,simonpj,"The code code should crash with Prelude.undefined. When compiled with `-O` it behaves correctly, however with no optimisation (`-O0`) it prints `[0]` instead. Reading the Core suggests that the expression gets translated into `print (id [0])` when compiled with `-O0`. It was tested with GHC 7.3.20111022.

{{{
main = do
  let a = \x -> seq undefined (+1)
  print $ (a `seq` a [] `seq` id) [0]
}}}

",bug,closed,high,7.4.1,Compiler,7.3,fixed,seq strictness strict lazy,michal.palka@…,Unknown/Multiple,Unknown/Multiple,Incorrect result at runtime,,simplCore/should_run/T5625,,,
