GNU 编译器(GCC)提供了很多 C 语言扩展,编译器会使用该信息生成更高效的机器代码。 内联函数 避免内联 纯函数 返回值只受函数参数或 nonvolatile 全局变量影响。 常函数 常函数是一种严格的纯函数。常函数不能访问全局变量,参数不能是指针类型。因此,常函数的返回值只和值传递的参数值有 ...
分类:
编程语言 时间:
2016-04-16 16:40:43
阅读次数:
194
在上面几期讨论中我们连续介绍了Free Monad。因为FP是纯函数编程,也既是纯函数的组合集成,要求把纯代码和副作用代码可以分离开来。Free Monad的程序描述(AST)和程序实现(Interpretation)关注分离(separation of concern)模式恰恰能满足FP要求。我们 ...
分类:
其他好文 时间:
2016-03-28 13:17:48
阅读次数:
188
函数式编程就是一种抽象程度很高的编程范式。(Python允许使用变量,不是纯函数式编程语言)函数式编程的特点:函数可以赋给变量,所以,可作为参数传递,可作为返回值返回。一个最简单的高阶函数:1 def add(x, y, f):2 return f(x) + f(y)add(-5, 6, a...
分类:
其他好文 时间:
2016-01-13 23:16:05
阅读次数:
306
什么是纯函数?纯函数是这样一种函数,即相同的输出,永远会得到相同的输出,而且没有任何可观察的副作用。‘副作用’是在计算结果的过程中,系统状态的一种变化,或者与外部世界进行可观察的交互。概括来讲,只要跟函数外部环境发生的交互就都是副作用。函数式编程的哲学就是假定副作用是造成不正当行为的主要原因。并不是...
分类:
其他好文 时间:
2015-12-19 00:10:29
阅读次数:
231
单复变函数几何理论最高的成就我想应该属于Riemann映射定理吧!Riemann映射定理:任意边界多余一个点的单连通域$D$都与单位圆盘$B(0,1)$等价,即存在着$D$上的单叶全纯函数$f$使得$f(D)=B(0,1)$.而且$f$被如下条件所唯一确定:$$f(a)=0,{\rm arg}f'(...
分类:
其他好文 时间:
2015-11-20 12:33:38
阅读次数:
116
函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,...
分类:
编程语言 时间:
2015-10-20 18:03:23
阅读次数:
161
Scalaz是由一堆的typeclass组成。每一个typeclass具备自己特殊的功能。用户可以通过随意多态(ad-hoc polymorphism)把这些功能施用在自己定义的类型上。scala这个编程语言借鉴了纯函数编程语言Haskell的许多概念。typeclass这个名字就是从Haskel....
分类:
编程语言 时间:
2015-09-18 23:19:46
阅读次数:
322
Frege是一门受Haskell语言启发而设计的纯函数式编程语言。Frege程序会被编译为Java,并运行于JVM上。它与Haskell是如此的相似,以至于有人称它为JVM上的Haskell。取Frege这个名字是为了纪念德国数学家、逻辑学家、哲学家Gottlob Frege。语言的主要特色
纯函数式编程语言
继承了函数式编程语言Haskell的精神,默认就具有不变性(immutability)。...
分类:
编程语言 时间:
2015-08-17 17:17:39
阅读次数:
126
Side Effects(副作用) According to Wikipedia, a function is said to have a side effect “if, in addition to returning a value, it also modifies some state or has an observable interaction with cal...
分类:
其他好文 时间:
2015-08-07 11:34:41
阅读次数:
138
Python函数式编程1.开始我们会了解什么是函数式编程:函数:function函数式:functional,一种编程范式函数式编程特点:把计算视为函数而非指令,贴近计算纯函数式编程:不需要变量,没有副作用,测试简单,支持高阶函数,代码简洁Python支持的函数式编程特点:不是纯函数式编..
分类:
编程语言 时间:
2015-08-01 06:35:32
阅读次数:
245