EspecificacionesHaskell error: parse error en la entrada `='
GHC 6.12.1
Mac OS X 10.6.4 x64
MacBook Pro
Problema
Tengo problemas para usar la sintaxis let
. El siguiente código se niega a compilar:
module Main where
main = let x = 1
y = 2
z = 3
in putStrLn $ "X = " ++ show x ++ "\nY = " ++ show y ++ "\nZ = " ++ show z
Me trataron de tabulación en y = 2
y z = 3
aún más. No dados.
(adversas) Soluciones
La única manera que he recibido el código para compilar es o bien
- Sustitución de pestañas duras con espacios.
- Reemplazar la cláusula
let
con una cláusulawhere
.
nunca use pestañas con Haskell, siempre use espacios.Las pestañas en haskell se definen como 8 espacios, que es mucho más de lo que la gente a menudo espera/establece su editor, por lo que siempre se recomienda utilizar espacios. Cualquier editor decente le permitirá hacer pestañas para producir espacios. – Axman6
Encontré esto una excelente ayuda visual, y una excelente guía sobre el tema en general: [http://echo.rsmw.net/n00bfaq.html#visualaid](http://echo.rsmw.net/n00bfaq.html# visualaid) – Brandon