找不到 Prelude.Functor 的实例
No instance found for Prelude.Functor
我正在阅读 "Purescript by Example" 本书,并且正在实施 the code in Chapter 5。但是我得到一个我不明白的编译错误。
我在这一行遇到编译错误(代码在没有这一行的情况下编译):
showPicture = map showShape
错误是:
No instance found for Prelude.Functor _67
而 error explanation 对我来说并没有说清楚。为什么会出现此错误?
我在我的 bower 文件中安装了这些依赖项:
"dependencies": {
"purescript-console": "^0.1.0"
"purescript-foldable-traversable": "~0.4.0",
"purescript-globals": "~0.2.0",
"purescript-math": "~0.2.0"
}
您需要添加类型签名。
map
函数意味着您正在使用 Functor
(在本例中为 Array
)。所以你函数的一般类型是
showPicture :: forall f. (Functor f) => f Shape -> f String
您可能指的是更具体的类型
showPicture :: Picture -> Array String
但是,psc
还不能推断约束,因此您需要一个类型签名来指导它。希望 psc
将在 1.0 版本之前推断约束,但目前,这是解决方法。
我正在阅读 "Purescript by Example" 本书,并且正在实施 the code in Chapter 5。但是我得到一个我不明白的编译错误。
我在这一行遇到编译错误(代码在没有这一行的情况下编译):
showPicture = map showShape
错误是:
No instance found for Prelude.Functor _67
而 error explanation 对我来说并没有说清楚。为什么会出现此错误?
我在我的 bower 文件中安装了这些依赖项:
"dependencies": {
"purescript-console": "^0.1.0"
"purescript-foldable-traversable": "~0.4.0",
"purescript-globals": "~0.2.0",
"purescript-math": "~0.2.0"
}
您需要添加类型签名。
map
函数意味着您正在使用 Functor
(在本例中为 Array
)。所以你函数的一般类型是
showPicture :: forall f. (Functor f) => f Shape -> f String
您可能指的是更具体的类型
showPicture :: Picture -> Array String
但是,psc
还不能推断约束,因此您需要一个类型签名来指导它。希望 psc
将在 1.0 版本之前推断约束,但目前,这是解决方法。