Keine Instanz für (Floating Int)

Ich lerne Haskell. Ich habe eine Funktion erstellt, die eine Multiplikationstabelle bis zu 'n' in der Basis 'b' zurückgibt. Zahlen werden mit 'w' Ziffern aufgefüllt. Als letzten Schritt möchte ich "w" automatisch berechnen. Warum kompiliert das nicht?

-- 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)) 

Error:

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))

Antworten auf die Frage(3)

Ihre Antwort auf die Frage