Tout d’abord, merci pour cette dépêche très bien construite et qui me fait regretter de ne pas utiliser plus ce langage.
Il y a une typo dans les imports, c’est Options.Generic, non Option.Gereric (notez le s).
Ensuite, la signature de la fonction forkPhilosopher ne correspond pas à ce que fait la fonction. Le type de forkIO est IO () -> IO ThreadId et non IO () -> IO (). La signature de forkPhilosopher doit donc être la suivante:
# Quelques erreurs (mineures) dans le programme des philosophes
Posté par lancelotsix . En réponse à la dépêche Sortie de GHC 8.2.1. Évalué à 4.
Tout d’abord, merci pour cette dépêche très bien construite et qui me fait regretter de ne pas utiliser plus ce langage.
Il y a une typo dans les imports, c’est
Options.Generic, nonOption.Gereric(notez le s).Ensuite, la signature de la fonction
forkPhilosopherne correspond pas à ce que fait la fonction. Le type deforkIOestIO () -> IO ThreadIdet nonIO () -> IO (). La signature deforkPhilosopherdoit donc être la suivante:Pour que ceci fonctionne, il faut également importer
ThreadIddepuisControl.Concurrent:Une fois ces petite ajustements faits, ça marche très bien !