类型签名缺少附带绑定?

时间:2014-03-29 17:45:11

标签: haskell

首先,我意识到还有其他几个类似的问题已在此处提出并回答。我看着他们并没有得到任何东西,所以我再问一遍。

这是我的代码的相关部分:

titlesOfMoviesSatisfying :: (Movie -> Bool) -> [Movie] -> [Title]
titlesOfSatisying f movieDB = map check (zip movieDB (map f movieDB))

电影和标题都是我刚才在代码中定义的数据类型。当我执行>>让b = map check(zip movieDB(map f movieDB))时,我得到:键入b作为[Title],这正是我想要的。我有:键入movieDB作为[电影]和:键入f作为电影 - >布尔。所以一切似乎都应该如此。但是当我尝试编译上面的代码时,我得到以下内容:

Example7.hs:65:1:     `titlesOfMoviesSatisfying'的类型签名       没有伴随的约束力 失败,模块加载:无。

为什么会这样,我该如何解决?

1 个答案:

答案 0 :(得分:6)

您拼错了函数的名称:

titlesOfMoviesSatisfying :: (Movie -> Bool) -> [Movie] -> [Title] 
titlesOfMoviesSatisfying f movieDB = map check (zip movieDB (map f movieDB))