函数式程序设计语言.pptx

函数式程序设计语言;问题是程序状态的易变性(Mutability)和顺序性(Sequencing) Backus在图灵奖的一篇演说《程序设计能从冯·诺依曼风格下解放出来吗?》中极力鼓吹发展与数学连系更密切的函数式程序设计语言;1 过程式语言存在的问题;例:有副作用的函数 int sf_fun(int x) static int z = 0; //第一次装入赋初值 return x + (z++); sf_fun(3) = {3 |4 | 5 | 6 | 7 …} //随调用次数而异,不是数学意义的确定函数。;(2)顺序性更难数学模型;2 λ演算;λ演算使函数概念形式化,是涉及变量、函数、函数组合规则的演算。 λ演算基于最简单的定义函数的思想: 一为函数抽象λx.E,一为函数应用(λx.E)(a)。 一切变量、标识符、表达式都是函数或(复合)高阶函数。如λx.C(C为常量)是常函数。;2.1 术语和表示法;(2)公式 变量是公式,如y。 如y是变量F是公式,则λy.F也是公式。 如F和G都是公式,则(FG)也是公式。;(3)λ表达式 形如λy.F为λ函数表达式,以关键字λ开始,变量y为参数。 形如(FG)为λ应用表达式 为了清晰,λ表达式可以任加成

文档评论(0)

1亿VIP精品文档

相关文档