Haskell: Использовать -XF FlexibleContexts, чтобы разрешить это?
Мой код выглядит следующим образом:
calcstep ::Integral a => a -> a
calcstep n = calcstep2 n 0
calcstep2 :: Integral (Integral a, Integral b) => a -> b -> a
calcstep2 1 k = k
calcstep2 n k | odd n = calcstep2 (n/2) (k+1)
| otherwise = calcstep2 (n*3+1) (k+1)
Ошибка заключается в следующем:
Не тип-переменный аргумент
в ограничении: Интеграл (Интеграл а, Интеграл б)
(Используйте -XF FlexibleContexts, чтобы разрешить это)
В сигнатуре типа для `calcstep2 ': calcstep2 :: Integral (Интеграл a, Интеграл b) => а -> б -> а
Сбой, загруженные модули: нет.
Что это значит? как я могу это исправить?