【发布时间】:2013-10-28 16:35:55
【问题描述】:
GHC 警告我在顶层没有函数签名。我不明白为什么我需要它们。提供它们的问题是它们非常复杂,就像这个(自动生成的):
applyValue :: forall t t1 t2 t3 t4.
(t2 -> t)
-> (t2 -> t3 -> t4 -> t1) -> t2 -> t3 -> t4 -> (t -> Bool) -> [t1]
那我为什么还要麻烦添加它们呢?
函数本身:
applyValue getValueAt stitchAndMove at fabric mark matchAt =
if matchAt (getValueAt at)
then [stitchAndMove at fabric mark]
else []
【问题讨论】:
-
您是否启用了任何扩展?
-
我们可以看看一些代码吗?
-
如果发生这种情况是因为您使用
-Wall进行编译,您可以使用-fno-warn-missing-signatures。不将它们排除在外被认为是一种好习惯 - 请参阅 Daniel Wagner 的回答了解原因。
标签: haskell