Num a"?-6ren"> Num a"?-我学习 Haskell。我将命令发送到 ghci::info Num . ghci> :info Num class Num a where (+) :: a -> a -> a (*) :: a --6ren">
gpt4 book ai didi

haskell - 为什么我得到 "class Num a where"而不是 "class (Eq a, Show a) => Num a"?

转载 作者:行者123 更新时间:2023-12-03 15:18:51 24 4
gpt4 key购买 nike

我学习 Haskell。我将命令发送到 ghci::info Num .

ghci> :info Num
class Num a where
(+) :: a -> a -> a
(*) :: a -> a -> a
(-) :: a -> a -> a
negate :: a -> a
abs :: a -> a
signum :: a -> a
fromInteger :: Integer -> a
-- Defined in `GHC.Num'
instance Num Integer -- Defined in `GHC.Num'
instance Num Int -- Defined in `GHC.Num'
instance Num Float -- Defined in `GHC.Float'
instance Num Double -- Defined in `GHC.Float'

我希望看到类似的内容: class (Eq a, Show a) => Num a ,但我看到 class Num a where .我很惊讶...好吧,我打开 Hoogle 并尝试查找 Num 的信息类类型。我得到了 this result .我看到 class (Eq a, Show a) => Num a在搜索结果的第一条记录中。但是当我打开源代码时,我看到:
-- | Basic numeric class.
--
-- Minimal complete definition: all except 'negate' or @(-)@
class Num a where

为什么我得到 class Num a where而不是 class (Eq a, Show a) => Num a ?

最佳答案

黑客显示 class (Eq a, Show a) => Num a可能是一个错误,但确实没有理由 Num a要求 Eq aShow a .

关于haskell - 为什么我得到 "class Num a where"而不是 "class (Eq a, Show a) => Num a"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27561604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com