Estoy confundido por qué mi función nestque se compone fconsigo misma nveces
nest f 0 = id
nest f n = f . nest f (n - 1)
nunca termina Pensé que "coincidiría con el patrón" en el caso cuando se nconvierta en cero. Lo estoy definiendo escribiendo estas dos líneas en GHCI y llamando nest (+ 1) 2 3por ejemplo.

nest (+1) 3 2termine con5.nest (+1) 3 2.Respuestas:
Al escribir la función en dos líneas REPL separadas, esencialmente la está redefiniendo la segunda vez, omitiendo el caso base.
La forma correcta de ingresar esta función en REPL es:
Alternativamente, puede ingresar al modo multilínea con el
:{comando y dejarlo usando:}.fuente
Cuando lo pegó en GHCi, lo que hizo fue definir una función
nest f 0 = id. Luego dijiste "ignora esa función, la estoy reemplazando con una nueva función del mismo nombre donde está toda la definiciónnest f n = f . nest f (n - 1).fuente