设计大型功能程序的方法

Jef*_*ron 1 f# functional-programming

我一直在阅读很多关于函数式语言的文章,并希望在F#中重写我应用程序的某些部分.从外面或外面设计是否更好?

Gen*_*ski 5

关于FP 为什么函数编程事项的主题作品之一John Hughes可以被认为是一个直接的答案:

我们将问题分解成部分的能力直接取决于我们将解决方案粘合在一起的能力.为了支持模块化编程,语言必须提供良好的粘合剂.函数式编程语言提供了两种新的粘合 - 高阶函数和惰性求值.使用这些胶水可以以新的和有用的方式模块化程序,我们已经展示了几个这样的例子.更小,更通用的模块可以更广泛地重用,从而简化了后续编程.这解释了为什么功能程序比传统程序更小,更容易编写.它还为功能程序员提供了一个目标.如果程序的任何部分混乱或复杂,程序员应该尝试对其进行模块化并概括部分.他或她应该期望使用高阶函数和惰性求值作为执行此操作的工具.

我还建议在InfoQ中看看John Hughes的当代采访.