[英]Why do my top level functions need signatures in Haskell?
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 []
(node -> Bool) -> (edge -> Bool) -> (graph -> Bool)
可以比(t1 -> Bool) -> (t2 -> Bool) -> (t3 -> Bool)
更可讀(t1 -> Bool) -> (t2 -> Bool) -> (t3 -> Bool)
,即使它們是等同的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.