Нет экземпляра для (Floating Int)

Я учу Хаскель. Я создал функцию, которая возвращает таблицу умножения до «n» в базе «b». Числа дополняются до 'w' цифрами. В качестве последнего шага я хочу автоматически вычислить 'w'. Почему это не компилируется?

-- Number of digits needed for the multiplication table n*n in base 'base'
nOfDg :: Int -> Int-> Int 
nOfDg n base = 1 + floor ( logBase base (n*n)) 

ошибка:

No instance for (Floating Int)
     arising from a use of `logBase' at C:\haskel\dgnum.hs:4:24-38
   Possible fix: add an instance declaration for (Floating Int)
   In the first argument of `floor', namely `(logBase b (n * n))'
   In the second argument of `(+)', namely `floor (logBase b (n * n))'
   In the expression: 1 + floor (logBase b (n * n))

Ответы на вопрос(3)

Ваш ответ на вопрос