Erreur haskell: pas dans le champ d'application. Qu'est-ce que cela signifie?

J'ai commencé avec Haskell aujourd'hui et toutes les fonctions dont j'ai effectuer sur ghci affichage de ce message. Je veux juste savoir pourquoi ce qui se passe.
Je sais qu'il ya beaucoup de questions à ce sujet, mais c'est un cas simple et j'ai besoin de comprendre cette erreur au début

function3 :: Int -> [Int]
function3 x = [a | a <- [1..x] mod a x == 0]
"Pas dans le champ d'application" signifie que vous essayez d'utiliser un nom qui n'est pas définie dans l'endroit dans lequel vous essayez de l'utiliser. Dans ce cas, il arrive parce que vous avez laissé de côté une virgule après [1..x], et donc votre définition de a dans la compréhension de liste ne fonctionne pas comme il le devrait. Changer de [a | a <- [1..x], mod a x == 0]
Il aide si vous incluez tout GHCi message d'erreur dans la question.

OriginalL'auteur Marcio | 2017-02-08