Ошибка Haskell: не удалось сопоставить тип `a1 'с` Int' - PullRequest
0 голосов
/ 04 ноября 2018

В haskell у меня есть эта функция, которая прекрасно работает:

primesAtMost :: Integral a => a -> [a]
primesAtMost n = sieve [2..n]
where
    sieve :: Integral a => [a] -> [a]
    sieve [] = []
    sieve (x:xs) = (x:sieve (filterMultiples x xs))

Проблема в том, что это тип параметра a, и я не могу это изменить. Когда я пытаюсь вызвать эту функцию с параметром, тип которого Int, это выдает ошибку: не удалось сопоставить тип `a1 'с` Int' Например:

primesAtMost (length n)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...