Estoy aprendiendo Haskell. Pensé que esto produciría una función factorial ...bucle infinito en haskell? (novato)
(dentro de ghci)
Prelude> let ft 0 = 1
Prelude> let ft n = n * ft (n - 1)
Prelude> ft 5
(bloquea de forma indefinida, hasta^C).
¿Puede alguien señalarme en la dirección correcta?
Gracias!
En otras palabras, lo que ha escrito es (casi) correcta Haskell; el problema es que GHCI acepta una sintaxis diferente de la que pondría en un archivo fuente separado. Si pones esas dos líneas, pero sin la palabra 'let' (que es el "casi"), en un archivo Factorial.hs, a continuación, en GHCi introduzca: ': cargar Factorial' continuación 'pies 5' obtendrás 120. No sé si ya has encontrado "notación do" (por ejemplo, para E/S), pero la sintaxis permitida en el prompt GHCI es la misma que la permitida dentro de un Bloquea –