2014-07-19 2 views
-1

Im получение этой ошибки по этому коду!Ошибка Haskell, ожидаемый тип

esImpar :: Integer -> Bool 
esImpar a = if (a mod 2) /= 0 then True 
     else False 

Ошибка: Не удалось соответствует ожидаемому тип (Integer -> Integer -> Integer) -> (Integer -> Integer) -> Integer -> Integer» с фактическим типом Integer

функция `а 'применяется к трем аргументам,

, но его тип Integer' не имеет ни одного

в первый аргумент (/ =), а именно: (а мод fromIntegral 2)

В выражении: (мод 2)/= 0

ответ

7

mod сама по себе является лишь функцией, а не оператором; вы можете использовать его как mod a 2 или infix как a `mod` 2. (Здесь вы пытаетесь использовать a в качестве функции, как указано в сообщении об ошибке.)

Смежные вопросы