
20 May
2017
20 May
'17
12:56 p.m.
Hi, I just observed that GHC optimizes fun (n::Int) = n == 0 + n to essentially fun (n::Int) = n `seq` True I am wondering under what circumstances we would be happy to transform this further to fun _ = True Clearly, we do not want to drop `seq`s in general. But is there some commonly accepted rule about which strictness we generally allow the compiler to get rid of, if it turns out that the compiler can do without? Or are all such transformations out of bounds for GHC? Greetings, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/