在haskell中,使用section来部分应用中缀函数是可行的,例如,给定中缀函数<(小于)可以部分应用任何函数的参数:(5 <),(<5)
换句话说,在haskell中我们有以下简写符号:
op :: a -> b -> c
(`op` y) === \x -> x `op` y
(x `op`) === \y -> x `op` y
Run Code Online (Sandbox Code Playgroud)
F#有类似的概念吗?
不,这些都没有(除了标准的部分应用之外(=) x).
虽然我喜欢简洁Seq.find ((=) x),但是Seq.filter ((<) 3)(或者甚至Seq.map (flip (-) 1))之类的东西很难阅读,应该立即被lambda表达式替换为imo.