gpt4 book ai didi

haskell - 为什么我可以在 Haskell 中打印包含 5 个元素的元组,但不能打印包含 6 个元素的元组?

转载 作者:行者123 更新时间:2023-12-02 10:43:53 24 4
gpt4 key购买 nike

我尝试打印以下元组

(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 只为最多 5 个元素的元组定义 Show (因为具有 5 个元素的元组显然是具有 6 个元素的元组的另一种类型)。但不知怎的,我太愚蠢了,找不到证据。

所以我的问题是:

为什么会这样,如何打印一个包含 6 个元素的元组(因为我似乎无法将元组放在 instance 定义的头部)?

编辑:我正在使用 Hugs

最佳答案

不要使用拥抱。

它已经多年没有维护了,并且不支持现代 Haskell 实现应该支持的一半内容。 (Hugs 支持“大部分”Haskell '98,这是语言规范的先前修订版。)

您可能会在 Internet 上找到与 GHC 完美配合的示例代码,但与 Hugs 配合则严重失败。您将花费很长时间试图弄清楚为什么您的代码不起作用,最终却意识到“哦,它确实可以工作 - 只是不适合 Hugs”。

关于haskell - 为什么我可以在 Haskell 中打印包含 5 个元素的元组,但不能打印包含 6 个元素的元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36600794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com