【发布时间】:2014-05-01 19:34:29
【问题描述】:
我正在尝试手动导出 ((.) foldr) 的类型
(.) ::(b1 -> c1) -> (a1 -> b1) -> a1 -> c1
foldr :: (a2 -> b2 -> b2) -> b2 -> [a2] -> b2
然后:
b1 = a2 -> b2 -> b2
c1 = b2 -> [a2] -> b2
匹配我得到的类型:
((a2 -> b2 -> b2) -> (b2 -> [a2] -> b2)) -> (a1 -> (a2 -> b2 -> b2)) -> a1 -> (b2 -> [a2] -> b2)
但后来我对如何减少这种表达感到困惑。
有什么帮助吗?
谢谢,
塞巴斯蒂安。
【问题讨论】:
-
这个问题的题目问的是
(foldr (.)),但在实际问题中你使用((.) foldr)。请编辑以使他们同意。
标签: haskell types unification