Я надеялся, что кто-нибудь сможет объяснить следующее поведение GHCi при использовании функции fromIntegral:
Prelude> let x = 1 :: Integer
Prelude> :t x
x :: Integer
Prelude> sqrt $ fromIntegral x
1.0
Prelude> let y = fromIntegral x
Prelude> sqrt y
<interactive>:181:1:
No instance for (Floating Integer)
arising from a use of `sqrt'
Possible fix: add an instance declaration for (Floating Integer)
In the expression: sqrt y
In an equation for `it': it = sqrt y
Какая разница, устанавливаю ли я y
, а затем беру его sqrt
или сразу беру sqrt
?