哈斯克尔.为什么:info(:)返回两次定义?

use*_*917 12 haskell types infix-notation

我是哈斯凯尔的新手.

如果我输入GHCi(7.10.3):

:info (:)
Run Code Online (Sandbox Code Playgroud)

我得到结果:

*** Parser:
data [] a = ... | a : [a]   -- Defined in ‘GHC.Types’
infixr 5 :

data [] a = ... | a : [a]   -- Defined in ‘GHC.Types’
infixr 5 :
Run Code Online (Sandbox Code Playgroud)

这是否意味着运算符被定义了两次?我在源中找不到任何可疑的东西= /

int*_*dex 3

不要注意这一点,这肯定是一个错误。我可以在 GHC 7.10.3 上重现此行为,但当前的 GHC 8.0 开发快照不会遇到此问题:

\n\n
GHCi, version 8.0.0.20160316: http://www.haskell.org/ghc/  :? for help\nPrelude> :info (:)\ndata [] a = ... | a : [a]   -- Defined in \xe2\x80\x98GHC.Types\xe2\x80\x99\ninfixr 5 :\n
Run Code Online (Sandbox Code Playgroud)\n