【发布时间】:2019-01-29 20:15:58
【问题描述】:
我正在学习 Haskell 的一些基本功能。我正在用 Flip 做一些练习,它接受两个参数的函数并评估结果,翻转参数的顺序。考虑函数 flip flip,我会认为,按照翻转的定义,它翻转参数两次,以原始顺序使用参数评估原始函数。当我用 ghci 检查函数类型来检查这个假设时,它产生了:
翻转翻转 :: b -> (a -> b -> c) -> a -> c
我不明白为什么这是翻转翻转的函数类型。它接受参数 b 和参数 (a -> b -> c) 并产生一个函数 a -> c。为什么会这样?我真的很感激一个解释,因为我对此感到迷茫。提前致谢
【问题讨论】:
-
你不翻转两次,你翻转
flip函数。 -
为了好玩,试试
flip flip flip。
标签: function haskell functional-programming