SpécificationsHaskell Erreur: parse error sur l'entrée `= »
GHC 6.12.1
Mac OS X 10.6.4 x64
MacBook Pro
Problème
J'ai des problèmes pour utiliser la syntaxe let
. Le code suivant refuse de compiler:
module Main where
main = let x = 1
y = 2
z = 3
in putStrLn $ "X = " ++ show x ++ "\nY = " ++ show y ++ "\nZ = " ++ show z
J'ai essayé tabuler dans y = 2
et z = 3
encore plus. Pas de dé.
(Solutions) indésirables
La seule façon que j'ai obtenu le code à compiler est soit
- Remplacement des onglets durs avec des espaces.
- Remplacement de la clause
let
par une clausewhere
.
jamais utiliser les onglets avec haskell, utilisez toujours des espaces.Les onglets en haskell sont définis comme étant de 8 espaces, ce qui est beaucoup plus que ce à quoi les gens s'attendent/définissent leur éditeur, donc il est toujours conseillé d'utiliser des espaces. Tout éditeur décent vous permettra de faire des onglets produire des espaces. – Axman6
J'ai trouvé cela une excellente aide visuelle, et un excellent guide sur le sujet en général: [http://echo.rsmw.net/n00bfaq.html#visualaid](http://echo.rsmw.net/n00bfaq.html# visualaid) – Brandon