【问题标题】:Haskell. Why is :info (:) returns the definition twice?哈斯克尔。为什么 :info (:) 返回定义两次?
【发布时间】:2016-03-23 07:25:54
【问题描述】:

我是 Haskell 的新手。

如果我输入 GHCi (7.10.3):

:info (:)

我得到结果:

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

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

这是否意味着运算符被定义了两次? 我在源码中没有发现任何可疑的东西=/

【问题讨论】:

  • []的定义充满魔力;我会对 GHCi 所说的任何话持保留态度。
  • 我称之为错误。随时在错误跟踪器上报告它。
  • 与 ghc 7.8.4 相同的问题。
  • @gallais 你能提供这个答案吗?

标签: haskell types infix-notation


【解决方案1】:

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

GHCi, version 8.0.0.20160316: http://www.haskell.org/ghc/  :? for help
Prelude> :info (:)
data [] a = ... | a : [a]   -- Defined in ‘GHC.Types’
infixr 5 :

【讨论】:

  • 又一个咬人的!我想知道是什么解决了这个问题——如果它只是导致了这个特殊性,我怀疑有人会打扰。也许代码被重写了一些更重要的原因。
猜你喜欢
  • 1970-01-01
  • 2015-02-06
  • 2010-12-07
  • 2015-01-01
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多