Работа над RWH, глава 3, вопрос 5, я создаю функцию для проверки существования палдиндрома.
Я написал это, но это не работает
pCheck :: (Eq a) => [a] -> Bool;
pCheck a = take n a == ( take n $ reverse a )
where n = floor ( length a / 2 )
Я получаю эту ошибку при попытке запустить:
No instance for (RealFrac Int)
arising from a use of `floor' at len.hs:13:11-32
Possible fix: add an instance declaration for (RealFrac Int)
In the expression: floor (length a / 2)
In the definition of `n': n = floor (length a / 2)
In the definition of `pCheck':
pCheck a = take n a == (take n $ reverse a)
where
n = floor (length a / 2)
Я запутался, что я делаю не так? Я знаю, что с помощью a == reverse a
можно точно так же протестировать палдиндром, но теперь я хочу найти ошибку на моем пути.
ОБНОВЛЕНИЕ: одна из ошибок в коде была исправлена по предложению юстиции, вопрос был обновлен, чтобы отразить оставшуюся проблему