¿Cómo funciona la palabra clave Haskell rec?

En la notación de flecha, puede usar la palabra clave rec para escribir definiciones recursivas. Así por ejemplo

rec
    name <- function -< input
    input <- otherFunction -< name

¿Cómo se puede evaluar esto? Parece que simplemente entraría en un bucle infinito o algo así. Sé que se evalúa como el combinador de flechas de bucle, pero tampoco entiendo cómo funciona eso.

EDIT: ese ejemplo de poderes es realmente útil. Sin embargo, ¿cómo escribirías eso con notación do? Supongo que necesitarías usar rec.

Respuestas a la pregunta(2)

Su respuesta a la pregunta