在下图中我们看到RealFloat是一个浮动的实例,而后者又是一个Fractional等实例...
对于Haskell中的任何类型类,我们如何找到所有"父母" ?
答案 0 :(得分:7)
只需使用ghci解释器即可。为了演示你的例子:
λ> :i RealFloat
class (RealFrac a, Floating a) => RealFloat a where
floatRadix :: a -> Integer
floatDigits :: a -> Int
.....
instance Floating Float -- Defined in `GHC.Float'
instance Floating Double -- Defined in `GHC.Float'
λ> :i Floating
class Fractional a => Floating a where
pi :: a
exp :: a -> a
.....
从上面的示例中,您可以看到RealFloat
与RealFrac
和Floating
的关系以及Floating
与Fractional
的关系。