相关疑难解决方法(0)

如何将两个参数的Haskell函数重写为无点样式

我在Haskell中有以下功能

agreeLen :: (Eq a) => [a] -> [a] -> Int
agreeLen x y = length $ takeWhile (\(a,b) -> a == b)  (zip x y)
Run Code Online (Sandbox Code Playgroud)

我正在努力学习如何编写'惯用'Haskell,它似乎更喜欢使用.$不是括号,并且在可能的情况下更喜欢无点代码.我似乎无法摆脱提及xy明确.有任何想法吗?

我认为我对点两个参数的任何函数都有同样的问题.

顺便说一下,这只是为了编写好的代码; 不是一些"使用任何必要的东西来使其无意义"的家庭作业.

谢谢.


(添加评论)感谢您的回答.你已经说服我这个功能不会从pointfree中受益.而且你也给了我一些很好的例子来练习转换表达式.这对我来说仍然很困难,而且它们似乎与Haskell一样重要,因为它指向C.

haskell pointfree

25
推荐指数
2
解决办法
5189
查看次数

标签 统计

haskell ×1

pointfree ×1