原文:泛函编程(31)-泛函IO:Free Monad-Running free

在上节我们介绍了Free Monad的基本情况。可以说Free Monad又是一个以数据结构替换程序堆栈的实例。实际上Free Monad的功能绝对不止如此,以heap换stack必须成为Free Monad的运算模式,这样我们才可以放心的使用Free Monad所产生的Monadic编程语言了。前面我们介绍了Trampoline的运算模式可以有效解决堆栈溢出问题,而上节的Free Monad介 ...

2015-06-25 14:10 8 1394 推荐指数:

查看详情

编程(32)-IOIO Monad

由于编程非常重视函数组合(function composition),任何带有副作用(side effect)的函数都无法实现函数组合,所以必须把包含外界影响(effectful)副作用不纯代码(impure code)函数中的纯代码部分(pure code)抽离出来形成独立的另一 ...

Tue Jul 07 06:20:00 CST 2015 3 1357
编程(0)-什么是编程

什么是编程(Functional Programming)?编程就是用函数编写程序。这个回答太抽象,等于没说。 再说清楚一点:编程就想砌积木一样把函数当成积木块,把函数的输出输入作为积木的楔子和楔孔,把一个函数的输出当作另一个函数的输入组合成一个更大的函数。整个砌积木的过程就是 ...

Mon Mar 09 21:13:00 CST 2015 3 2039
编程(36)-Stream IOIO数据源-IO Source & Sink

上期我们讨论了IO处理过程:Process[I,O]。我们说Process就像电视信号盒子一样有输入端和输出端两头。Process之间可以用一个Process的输出端与另一个Process的输入端连接起来形成一串具备多项数据处理功能的完整IO过程。但合成的IO过程两头输入端则需要接到一个 ...

Tue Aug 04 21:39:00 CST 2015 0 1835
是个什么概念

1.一般的就是把函数作为元素来研究的一门学科,分析,举个简单一点的列子,我们以前学的函数是把数字作为基本的元素来研究的,现在更高一个层次,就是元素就是一个函数,比如全体实系数连续函数构成一个集合A,那么这个A中每一个元素就是一个函数,而就是研究在类似于A这种集合到数之间的关系,比如在 ...

Thu Mar 01 20:04:00 CST 2018 0 10791
话说——Hilbert空间

一百年前的数学界有两位泰斗:庞加莱和希尔伯特,而尤以后者更加出名,我想主要原因是他曾经在1900年的世界数学家大会上提出了二十三个著名的希尔伯特问题,指引了本世纪前五十年数学的主攻方向,不过还有一个原 ...

Mon Oct 28 17:32:00 CST 2013 0 8009
(二) 的极值

极值的概念 函数 \(f(x)\) 在 \(x_0\) 处取得极小值,是指当 \(x\) 在 \(x_0\) 点及其附近 \(|x - x_0| < \varepsilon\) 时,恒有 ...

Sat Dec 07 04:51:00 CST 2019 0 327
四大定理:

开映射定理和闭图像定理及其应用 - dhchen的文章 - 知乎 https://zhuanlan.zhihu.com/p/28093420 分析随记(一)Hahn-Banach定理 - 陆艺的文章 - 知乎 https://zhuanlan.zhihu.com/p/53079862 ...

Tue Aug 27 06:44:00 CST 2019 0 1352
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM