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.

questionAnswers(2)

yourAnswerToTheQuestion