0

我写了一个函数叫做product

product [] = 1
product (x:xs) = x * product xs

当我将它加载到 WinHug 中时:

错误文件:.\product.hs:4 - 不明确的变量出现“产品”
*** 可以参考:Main.product Hugs.Prelude.product

这是什么意思?

4

2 回答 2

15

product函数在 Haskell Prelude 中定义。

您的本地定义与库版本冲突。

考虑将您的版本重命名为 egmyproductimport Prelude hiding (product).

此外,您可能需要考虑使用 GHC 而不是 Hugs。

于 2012-04-25T11:57:07.283 回答
8

Haskell Prelude中已经有一个名为的product函数。

顺便说一句,你应该安装Haskell Platform而不是 Hugs;Hugs 是一个不再维护的老项目,而 GHC/i 的支持要好得多,功能也更多。即使您的学校希望您使用 Hugs,私下偷偷使用带有 GHCi 的 Haskell 平台也没有什么坏处。

于 2012-04-25T11:58:36.177 回答