2016-06-11 1 views
1

Je suis assis ici depuis un certain temps maintenant et mon problème ne résoudra pas par googling, essayez et erreur. J'ai l'extrait de code suivant:Haskell parse erreur avec ghci avec 'let'

data Prozess = Prozess { pid :: Int, arrival :: Int, computing :: Int } deriving (Show) 

let idle = Prozess{pid=1, arrival=5, computing=10} 

J'ai donc essayé de le compiler avec ghci, mais il est continuer à me donner une « erreur d'analyse (éventuellement d'indentation incorrecte ou supports mal assortis) » au « laisser au repos .. ."-ligne. Chose étrange, j'ai essayé de compiler ceci en utilisant notre Jupyter-Server et cela semble fonctionner correctement. De plus, si je le compile sans le "let" -line et que j'applique la même ligne par la suite via Terminal dans * Main>, cela fonctionne bien aussi.

Alors qu'est-ce qui ne va pas avec ghci? Je pense que je perds la tête à cause de ça.

+0

double possible de [? GHCi "let" - que fait-il] (http://stackoverflow.com/questions/14052093/ghci-let-what-does -it-do) – Veritas

Répondre

3

Votre let n'est pas dans aucune fonction est-ce?

Si vous êtes juste la définition d'une « constante » globale, vous allez simplement:

idle :: Prozess 
idle = Prozess{pid=1, arrival=5, computing=10} 

Notez également que vous n'avez pas besoin de la notation d'enregistrement. Vous pouvez échanger que pour:

idle = Prozess 1 5 10

+0

Le paradis vient d'ouvrir ses portes pour moi. Dieu te bénisse, toi et ta famille. Et d'autres choses. ;-) – CptSnuggles