usos tipos simbolos peta para opciones hacer funciones español entornos ejemplos desarrollo como haskell

tipos - peta haskell en español



Error de análisis de Haskell en la entrada `= '' (4)

Soy nuevo en Haskell y después de iniciar ghci lo intenté:

f x = 2 * x

y obtuve:

<interactive>:1:4: parse error on input `=''

que no entiendo

Extrañamente, funcionó bien antes. Supongo que he hecho mal Haskell. La reinstalación de ghc6 no resuelve el problema.

Para información, uso Ubuntu 10.4 y la versión de ghc6 es 6.12.1-12


Comenzando en GHC 8.0.1 esto ya no generaría un error.


Cuando escribe en un archivo fuente Haskell,

f x = 2 * x

es correcto.

Cuando escribe directamente en ghci, debe escribir let al principio de la línea:

let f x = 2 * x


En GHCi 7.xo inferior, necesita un permiso para definir cosas en él.

Prelude> let f x = x * 2 Prelude> f 4 8

A partir de GHC 8.0.1, los enlaces de nivel superior son compatibles con GHCi , por lo que el código de OP funcionará sin cambios.

GHCi, version 8.0.1.20161213: http://www.haskell.org/ghc/ :? for help Prelude> f x = x * 2 Prelude> f 4 8


Una buena regla empírica para usar ghci es que cualquier código que ingrese debe ajustarse a la semántica de do-block; es decir, podría suponer sintácticamente que está programando dentro de la mónada IO (si esta es una nueva terminología, ¡no se preocupe! Recomiendo leer este tutorial ).

This respuesta ilustra este punto con un ejemplo, y puede proporcionar más información sobre la naturaleza de IO y ghci.