有大量关于数据结构的文本和数据结构代码库.我知道纯粹的功能数据结构更容易推理.但是,我很难理解在实用代码中使用纯函数式数据结构(使用函数式编程语言与否)的命令对应的真实世界优势.有人可以提供一些真实世界的案例,其中纯功能数据结构具有优势,为什么?
这个例子就像我在programming_language中使用data_structure_name来做应用程序,因为它可以做某些事情.
谢谢.
PS:我的意思是纯功能数据结构与持久数据结构不同.持久性数据结构是一种不会改变的数据结构.另一方面,纯功能数据结构是纯粹运行的数据结构.
ocaml haskell functional-programming purely-functional data-structures
作为OO开发人员,也许我很难看到它的价值.他们给了什么附加价值?它们适合OO世界吗?
如何在Java 8 Stream上实现"分区"操作?通过分区,我的意思是,将流划分为给定大小的子流.不知何故,它将与Guava Iterators.partition()方法完全相同,只是希望分区是懒惰评估的Streams而不是List的.
我喜欢在舒适区之外学习语言,但我很难找到一个可以开始使用函数式语言的地方.我听说过很多关于计算机程序的结构和解释的好东西,但是几年前我试图通读它时,它似乎只是在我脑海中徘徊.我的书比网站更好,但是当我访问当地的书店时,LISP上的书看起来有些可怕.
那么什么是一个好的起点?我的目标是能够使用函数式编程语言在6个月左右的时间内解决简单问题,并能够转向更高级的主题,识别何时函数式语言是正确的工具,并使用该语言在2 - 3年的过程中解决更多的问题.我喜欢那些在例子上很重要的书籍,但也包括要完成的挑战.功能语言是否存在这样的事情?
在面向对象的编程中,我们可以说核心概念是:
函数式编程会是什么?
我使用Matlab作为原型工具学习了机器学习课程.由于我沉迷于F#,我想继续我在F#的机器学习研究.
我可能希望将F#用于原型设计和生产,因此机器学习框架将是一个很好的开始.否则,我可以从一组库开始:
最重要的资源(对我而言)是关于机器学习的书籍,博客文章和在线课程,使用函数式编程语言(F#/ OCaml/Haskell ......).
任何人都可以建议这些资源吗?谢谢.
编辑:
这是基于以下答案的摘要:
机器学习框架:
相关图书馆:
Math.NET Numerics:内部使用英特尔MKL和AMD ACML进行矩阵运算并支持统计功能.
Microsoft Solver Foundation:线性编程和优化任务的良好框架.
FSharpChart:F#中一个不错的数据可视化库.
阅读清单:
任何其他指针或建议也欢迎.
According to my understanding, partial functions are functions that we get by passing fewer parameters to a function than expected. For example, if this were directly valid in Python:
>>> def add(x,y):
... return x+y
...
>>> new_function = add(1)
>>> new_function(2)
3
Run Code Online (Sandbox Code Playgroud)
In the snippet above, new_function is a partial function. However, according to the Haskell Wiki, the definition of partial function is
A partial function is a function that is not defined for all possible arguments of …
python haskell functional-programming partial-application partial-functions
在Javascript中,如何确定为函数定义的形式参数的数量?
注意,这不是arguments调用函数时的参数,而是函数定义的命名参数的数量.
function zero() {
// Should return 0
}
function one(x) {
// Should return 1
}
function two(x, y) {
// Should return 2
}
Run Code Online (Sandbox Code Playgroud) 我已经研究了几个月的scala,但仍处于初学阶段.现在我发现我在函数式编程和scala类型系统方面遇到了很大麻烦.
我试着找一些文档和博客,但我无法理解它们中的大部分(特别是类型系统的).所以我正在寻找一些小型和好的scala项目,我可以阅读要学习的资源.
你能推荐我一些吗?