2016-03-07 5 views
12

私はhaskellを初めて使っています。。なぜですか?info(:)は定義を2回返しますか?

私は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 : 

は、それはオペレータが二度定義されていることを意味していますか? ソースで不審なものは見つかりませんでした=/

+6

'[]'の定義は魔法でいっぱいです。私はGHCiが塩の粒でそれについて言う何かを取る。 – dfeuer

+7

私はこれをバグと呼びます。バグトラッカーで気軽に報告してください。 –

+0

ghc 7.8.4で同じ問題が発生しました。 – Bakuriu

答えて

3

これには気をつけませんが、確かにバグです。私はこの挙動を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 : 
+0

もう1人はほこりをかむ!何が変わったのだろうと思うのですが、それがこのような特異性を引き起こしただけであれば、誰も気にならないでしょう。おそらくコードはいくつかの実質的な理由のために書き直されました。 – dfeuer

関連する問題