具有函数范型的命令式语言语义问题分析-analysis of imperative language semantic problems with function paradigm.docxVIP
- 7
- 0
- 约3.17万字
- 约 34页
- 2018-08-14 发布于上海
- 举报
具有函数范型的命令式语言语义问题分析-analysis of imperative language semantic problems with function paradigm
第一章绪论1.1本文研究背景随着软件系统的规模越来越大,复杂程度越来越高,计算机学科领域正面临着一场软件复杂性危机。例如,如何妥善处理计算机程序的大小和复杂度,如何缩减程序开发的时间和费用,以及如何提高最终程序正确性工作的可信度。因此,良好的软件结构也越来越重要。结构良好的软件易于编写,易于调试,同时提供可复用模块以降低未来编程的成本。常见的语言在对问题进行模块化方面具有理念上的局限性[1~2],所以,解决此类软件危机的一种方法是开发一类包含如下特性的程序设计语言[3]:1)可按一种清晰简洁和高度抽象的方式进行编写程序;2)支持软件重用;3)鼓励使用形式化技术进行描述和正确性证明;4)允许快速原型开发;5)提供强有力的支持工具。而函数式语言超越了这些局限。特别是函数式语言的两大特性——高阶函数与惰性求值,它们能够极大地促进模块化,由于模块化是成功程序设计的关键,所以函数式语言对现实世界而言便极其重要。函数式语言之所以如此称呼,是因为程序完全是由函数组成的。主程序本身也是一个函数,以程序的输入为参数,并给出其输出作为结果。主函数一般是根据其他函数进行定义的,而这些函数又同样是根据更多的其他函数来定义,直到最低层的函数是语言的原生函数。这些函数与普通的数学函数很相像,因此在本文中将以普通等式来定义它们。函数式程序不包含任何赋值语句,因此变量一旦获得一个值,就不再改变。更一般地说,函数式程序不包含任何副作用[4~7]。除非对函数进行求值,它不会有任何效果。这一特性消灭了错误的一个主要来源,同时也使执行顺序不再重要——因为没有副作用能够改变表达式的值,因此可以在任何时刻对它求值。这一特性将程序员从规定控制流的重担之下拯救出来。由于表达式可以在任何时刻被求值,程序员便可以随心所欲地使用自己要的值来代替变量,反之亦然——也就是说,程序是“引用透明”的。这一自由使得函数式程序与它们传统的对应物相比,更容易数学化地控制。虽然函数式语言具有良好的数学性质[1~7],但是长期以来,函数式语言并没有出现在主流的商业软件世界。因为函数式编程语言的效率比命令式编程语言的“执行效率”差,这在商业系统上是不能忍受的。而且,函数式语言就有高阶“抽象”,对内存的简单控制力较差。例如:使用函数式语言编写RSA加密算法比命令式语言容易的多,但是编写DES和AES加密算法,命令式语言更为容易。(因为RSA主要是对大数进行操作,而DES和AES主要进行数据位操作。)1.2函数式语言历史及现状函数式语言作为一个实际的程序设计语言而出现的历史,可追述到六十年代初期,Arthy 设计的LISP 语言,而它的理论背景是三十年代数理逻辑工作者所发展的λ 演算和递归函数论。Church在可计算理论上的研究以及为了定义哪些数论函数是可被机械计算的基础上,提出了λ演算。Church设想那些可被有效计算的函数恰是那些可在λ演算中表示的函数。虽然Church设想还未得到形式证明,但它在计算机界以及数理逻辑界都被认为事实。由于函数式语言的基础是λ 演算,这使其具备了强有力的表示能力。1978年,图灵奖获得者Backus提出了FP语言[2],它是最早引起人们广泛关注的一种函数式语言,尽管FP语言的许多语言特性在现代的许多函数语言中未被采用,但他的演说在函数语言研究领域中的一篇最有影响和引用最为广泛的论文。FP语言现在已经有了很大的发展,如引入了强类型、抽象数据类型、高阶函数和允许用户自定义数据类型等,但FP的研究者们仍然强调它固有的代数性质。1987年,“函数式程序设计语言和计算机体系结构大会(FPCA87)”在美国俄勒冈州召开,主要讨论目前函数式程序设计语言的窘境[3]:当时已经产生了十多种非严格的、纯的函数式语言,其表达能力和语义基础都很相似。与会者一致认为有必要成立一个委员会去设计一种通用的函数式语言,以大面积推广函数式程序设计思想。这最终导致了一种纯函数式语言Haskell的问世,它是以著名逻辑学家HaskellB.Curry的名字命名。Haskell语言[8~12]的最初设计目的为:(1)能够适合于教学、研究、应用开发,以及一些大系统的构造;(2)可通过形式语法和语义来准确描述;(3)是自由免费的,任何人都可获取、使用和再次开发;(4)必须建立在大家一致认可的基础上;(5)能够消减目前函数式语言间的分歧。该委员会希望Haskell语言能成为将来研究语言设计的一个基础,且其进一步扩展和变化能够适应未来的实用需求。事实上,自从1990 年3 月发布Haskell1.0以来,Haskell 的确在演变改进着。到1997年,Haskell规范已进行了4次演变,最后的发布版本为在年阿姆斯特丹举行的Haskell研讨会决定,制定一个稳定的Haskell版本。1998年,会议报告将该稳定的Has
您可能关注的文档
- 居民收入分配中财政职能强化和调控对策分析-analysis of financial function strengthening and control countermeasures in residents' income distribution.docx
- 居住区户外健身娱乐空间设计研究——以武汉市住区户外空间为例-research on outdoor fitness and entertainment space design in residential areas - taking outdoor space in residential areas of wuhan city as an example.docx
- 居住区环境设计中文化的应用研究——以西安市居住小区为例-research on the application of culture in the environmental design of residential areas - taking xi' an residential area as an example.docx
- 居住区环境设计中文化的应用分析——以西安市居住小区为例-analysis on the application of culture in the environmental design of residential areas - taking xi' an residential area as an example.docx
- 居住区老年人户外交往空间设计策略研究——以天津地区为例-research on the design strategy of outdoor communication space for the elderly in residential areas - taking tianjin area as an example.docx
- 居住区老年公共服务设施设计方法研究——以兰州中科生态城修建性详细规划为例-research on the design method of public service facilities for the elderly in residential areas - a case study of the detailed planning for the construction of lanzhou zhongke eco - cit.docx
- 旧住区人居环境有机更新延续性改造研究——以沈阳市为例-study on the organic renewal and continuous renovation of human settlements in old residential areas - a case study of shenyang city.docx
- 居住建筑单侧通风设计策略的研究——以t字型户型为例-study on the design strategy of unilateral ventilation in residential buildings - a case study of t - shaped apartments.docx
- 居住区铺装景观设计分析-landscape design analysis of residential area pavement.docx
- 居住小区与建筑内部热水设计秒流量计算方法的分析-analysis of calculation method for second flow rate of hot water design in residential quarters and buildings.docx
- 山东省惠民县2026届中考语文全真模拟试卷含解析.doc
- 四川省成都市邛崃市达标名校2026届中考语文考前最后一卷含解析.doc
- 期海南省海口五中2026届中考历史四模试卷含解析.doc
- 山东省青岛5中2026届中考历史对点突破模拟试卷含解析.doc
- 黑龙江哈尔滨道外区重点名校2026届中考猜题语文试卷含解析.doc
- 广东省汕尾市海丰县重点名校2026届中考英语五模试卷含答案.doc
- 2026届北京市崇文区重点达标名校中考五模语文试题含解析.doc
- 河南省周口市川汇区18中2026届中考历史押题试卷含解析.doc
- 2026届山东省高青县中考语文模拟试题含解析.doc
- 安徽省合肥市庐江县2026届中考历史最后一模试卷含解析.doc
原创力文档

文档评论(0)