Custo do tempo do operador Haskell `seq`
Esta FAQ diz qu
O operador seq é
seq :: a -> b -> b
x seq
y avaliará x, o suficiente para verificar se não é inferior, depois descarte o resultado e avalie y. Isso pode não parecer útil, mas significa que é garantido que x é avaliado antes que y seja considerad
Haskell é muito legal, mas isso significa que em
x `seq` f x
o custo da avaliaçãox
será pago duas vezes ("descartar o resultado")?