a função seq e rigor
Eu tenho me perguntado muito sobre isso, mas não consegui encontrar nada sobre isso.
Ao usar oseq
função, como é que entãorealmente trabalhos? Em todos os lugares, é apenas explicado dizendo queseq a b
avaliaa
, descarta o resultado e retornab
.
Mas o que issorealmente significar? O seguinte resultaria em avaliação rigorosa:
foo s t = seq q (bar q t) where
q = s*t
O que eu quero dizer é, éq
estritamente avaliado antes de ser usado embar
? E o seguinte seria equivalente:
foo s t = seq (s*t) (bar (s*t) t)
Eu acho um pouco difícil obter detalhes sobre a funcionalidade desta função.