地图功能haskell

时间:2013-11-08 19:04:28

标签: haskell map

编译时出现此错误:

  

Ambigous occurence'map'
  它可以引用blablabla

中定义的Main.map

我在这里阅读了类似的帖子并尝试了这个:

import qualified Data.Map as Map

map                     :: (a->b) -> [a] -> [b]
map f  []               =  []
map f (x:xs)            =  f x : map f xs

我仍然收到错误。我正在编制GHCI。

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:5)

您收到错误是因为标准前奏(默认导入)已经包含了地图功能。

如果你正在练习,那么使用你自己的新名称是有意义的。这样你可以检查你的工作原理与原版相同。在名称后面加上破折号,或称之为mymap或其他东西。

您还可以进行显式导入,以便将地图保留:

import Prelude hiding (map)

但我认为考虑你自己的非冲突名称不那么自负。