可能重复:
What are advantages and disadvantages of “point free” style in functional programming?
当我在大学时,我不得不学习哈斯克尔。在我的一个课程中,我们学习了如何使用无点函数。除了学术观点之外,还是有点自由风格编程的优势吗?
在效率方面有什么区别?在具有大量代码的应用程序中,是否更难以理解点免费?
答案 0 :(得分:12)
一旦你习惯了它,它就会更清晰,更清洁,只要你不要太过分。
((not.).)
可能不如\f x y = not (f x y)
那么明确,但
munge = this . that . other
应该比
更清晰munge x = this (that (other x)))
你的讲师教你无缘无故让你成为一个更好的程序员,而不是因为它最好混淆你的代码,所以你应该在它有用的时候使用它。
动机不是效率,而是思想,目的和表达的清晰。
答案 1 :(得分:6)
阅读可能更容易,也更难。因此,根据您的使用方式,它可能会对代码可维护性产生影响。它不会对性能产生影响(除非在非常特殊的情况下)。
这只是另一个习语。