我試圖打印以下元組爲什麼我可以用Haskell中的5個元素打印一個元組,但不打印6個元組?
(1,2,3,4,5,6)
這給了我下面的錯誤
ERROR - Cannot find "show" function for:
*** Expression : (1,2,3,4,5,6)
*** Of type : (Integer,Integer,Integer,Integer,Integer,Integer)
但是,如果我用下面的元組嘗試
(1,2,3,4,5)
一切就像一個魅力。
我的猜測是,Haskell只爲最多五個元素的元組定義了Show
(因爲具有5個元素的元組顯然是具有6個元素的元組的另一個類型)。但不知何故,我很愚蠢地爲此找到證據。
所以我的問題是:
爲什麼會這樣,我怎麼能打印6個元素的元組(因爲我似乎不能把元組在instance
定義的頭)?
編輯:我用擁抱
無法重現。你使用哪個版本的GHC? – ZhekaKozlov
我也一樣無法重現 –
我正在使用Hugs,相應地編輯了這個問題 – wastl