La seq función y rigor.
Me he estado preguntando mucho sobre esto, pero no he podido encontrar nada al respecto.
Al usar elseq
funcion, como lo hace entoncesDe Verdad ¿trabajo? En todas partes, se explica diciendo queseq a b
evalúaa
, descarta el resultado y devuelveb
.
Pero que hace esoDe Verdad ¿media? ¿Resultaría lo siguiente en una evaluación estricta?
foo s t = seq q (bar q t) where
q = s*t
Lo que quiero decir es, esq
Estrictamente evaluado antes de ser utilizado enbar
? Y sería equivalente lo siguiente:
foo s t = seq (s*t) (bar (s*t) t)
Me resulta un poco difícil obtener detalles sobre la funcionalidad de esta función.