我对这个表达很好奇flip id
(这不是家庭作业:我在getOpt
文档中找到了它)。
我想知道为什么它有这种类型:
Prelude> :t (flip id)
(flip id) :: b -> (b -> c) -> c
例如,(flip id) 5 (+6)
给出11
.
我知道为什么id (+6) 5
给出 11,但我没有“得到”这个flip id
东西。
我试图用笔和纸自己弄清楚这一点,但做不到。有人可以向我解释一下吗?我的意思是,怎么flip id
会有类型b -> (b -> c) -> c
?