我试图打印以下元组为什么我可以用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