由于泛函编程非常重视函数组合(function composition),任何带有副作用(side effect)的函数都无法实现函数组合,所以必须把包含外界影响(effectful)副作用不纯代码(impure code)函数中的纯代码部分(pure code)抽离出来形成独立的另一 ...
上期我们讨论了IO处理过程:Process I,O 。我们说Process就像电视信号盒子一样有输入端和输出端两头。Process之间可以用一个Process的输出端与另一个Process的输入端连接起来形成一串具备多项数据处理功能的完整IO过程。但合成的IO过程两头输入端则需要接到一个数据源,而另外一端则可能会接到一个数据接收设备如文件 显示屏等。我们在这篇简单地先介绍一下IO数据源Sourc ...
2015-08-04 13:39 0 1835 推荐指数:
由于泛函编程非常重视函数组合(function composition),任何带有副作用(side effect)的函数都无法实现函数组合,所以必须把包含外界影响(effectful)副作用不纯代码(impure code)函数中的纯代码部分(pure code)抽离出来形成独立的另一 ...
在上节我们介绍了Free Monad的基本情况。可以说Free Monad又是一个以数据结构替换程序堆栈的实例。实际上Free Monad的功能绝对不止如此,以heap换stack必须成为Free Monad的运算模式,这样我们才可以放心的使用Free Monad所产生的Monadic ...
什么是泛函编程(Functional Programming)?泛函编程就是用函数编写程序。这个回答太抽象,等于没说。 再说清楚一点:泛函编程就想砌积木一样把函数当成积木块,把函数的输出输入作为积木的楔子和楔孔,把一个函数的输出当作另一个函数的输入组合成一个更大的函数。整个砌积木的过程就是泛函 ...
折叠算法是List的典型算法。通过折叠算法可以实现众多函数组合(function composition)。所以折叠算法也是泛函编程里的基本组件(function combinator)。了解折叠算法的原理对了解泛函组合有着至关紧要的帮助。折叠算法又可分右折叠和左折叠。我们先从右折叠 ...
极值的概念 函数 \(f(x)\) 在 \(x_0\) 处取得极小值,是指当 \(x\) 在 \(x_0\) 点及其附近 \(|x - x_0| < \varepsilon\) 时,恒有 ...
1.一般的泛函就是把函数作为元素来研究的一门学科,泛函分析,举个简单一点的列子,我们以前学的函数是把数字作为基本的元素来研究的,现在更高一个层次,就是元素就是一个函数,比如全体实系数连续函数构成一个集合A,那么这个A中每一个元素就是一个函数,而泛函就是研究在类似于A这种集合到数之间的关系,比如在 ...
一百年前的数学界有两位泰斗:庞加莱和希尔伯特,而尤以后者更加出名,我想主要原因是他曾经在1900年的世界数学家大会上提出了二十三个著名的希尔伯特问题,指引了本世纪前五十年数学的主攻方向,不过还有一个原 ...
基本概念 泛函 泛函是一个函数的表达式,取值取决于该表达式中的函数,泛函是函数的函数。 1)除了变量x外,泛函还可以包含其他的独立变量; 2)除函数y(x)外,泛函还可以包含有许多以上述独立变量为函数的其他函数(因变量); 3)泛函中,除了一阶导数外,还可以包含有高阶导数 ...