使用免费点有什么好处吗?

时间:2012-11-13 22:09:45

标签: haskell pointfree

  

可能重复:
  What are advantages and disadvantages of “point free” style in functional programming?

当我在大学时,我不得不学习哈斯克尔。在我的一个课程中,我们学习了如何使用无点函数。除了学术观点之外,还是有点自由风格编程的优势吗?

在效率方面有什么区别?在具有大量代码的应用程序中,是否更难以理解点免费?

2 个答案:

答案 0 :(得分:12)

一旦你习惯了它,它就会更清晰,更清洁,只要你不要太过分。

((not.).)可能不如\f x y = not (f x y)那么明确,但

munge = this . that . other

应该比

更清晰
munge x = this (that (other x)))

你的讲师教你无缘无故让你成为一个更好的程序员,而不是因为它最好混淆你的代码,所以你应该在它有用的时候使用它。

动机不是效率,而是思想,目的和表达的清晰。

答案 1 :(得分:6)

阅读可能更容易,也更难。因此,根据您的使用方式,它可能会对代码可维护性产生影响。它不会对性能产生影响(除非在非常特殊的情况下)。

这只是另一个习语。