您现在的位置是:首页
>
关于什么的函的范文 函式式程式设计详细资料大全
函式式程式设计详细资料大全 函式式程式设计是一种设计、编制和调试函式式程式的技术,是由一些原始函式、定义函式和函式型组成的函式表达式。函式语言以λ-演算为其语义基础, 它的基本机制是函式对参数的作用,
函式式程式设计详细资料大全
函式式程式设计是一种设计、编制和调试函式式程式的技术,是由一些原始函式、定义函式和函式型组成的函式表达式。函式语言以λ-演算为其语义基础, 它的基本机制是函式对参数的作用, 函式是程式的基本项, 程式的编制便是函式的递归构造过程。

基本介绍
中文名:函式式程式设计外文名:Functional programming in Standard ML语义基础:λ-演算组成:原始函式、定义函式和函式型实质:函式的递归构造过程套用学科:计算机科学、仪器科学、数学 特性,用途,重要性,函式语言,特性
传统程式设计语言中的赋值等概念,在函式式程式设计语言中消失。函式式程式的一个最本质的特性,就是函式值唯一地由其参数值所确定。只要使用相同的参数值,对此程式的不同的调用总是得到相同的结果。这种性质称为引用透明性,有助于程式的模组化。函式式程式设计语言具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理;可以把函式作为参数,其结果也可为函式,这种定义的函式称为高阶函式。这些由函式表达式所表示的程式简明、紧凑和易于维护。 过去,这种程式设计称为套用性程式设计。1977年,J.巴克斯提出函式式程式设计的概念。一般认为表处理语言(LISP)是最早的函式式程式设计语言。但是,LISP的重点是将函式套用于对象,以产生新的对象,必要时再上升为函式。巴克斯所提出的函式式程式设计,则是引用函式型产生新函式,程式设计时从一般的对象空间上升到函式空间,因而具有优越的数学性质,有助于程式的理解、推理和验证。用途
由于函式式程式设计语言的简明性和独特的表达能力,可用它来研究传统程式设计语言的语义。一种方法是用于确定一个解释程式的定义,作为被研究的语言的语义;另一种方法是将被研究的语言写成的程式转换成与之等价的函式式程式。在人工智慧领域中,需要用复杂的算法去处理一些复杂的(通常是符号的)数据结构。LISP语言成功地套用于这一领域,说明了函式式程式设计的独特优越性。巴克斯分析了传统程式设计语言的缺陷,认为这些缺陷主要是由于诺伊曼式系统结构所造成的。他所提出的函式式程式设计(简称FP),摆脱了传统的诺伊曼计算机结构,需要一种新的非诺伊曼式的系统结构为后援。一些具有新概念的计算机,如归约机、数据流机,以及专为某种函式式语言(如FP)设计的计算机正在研究和发展中。现代既需要研究在诺伊曼式计算机上如何更有效地实现函式式程式设计语言的问题,也需要研究适应这种语言的新型计算机结构。重要性
函式式程式设计受到重视的原因有很多。首先,由于产生了“软体危机”,人们企图探讨一种摆脱这种困境的新型程式设计方式,而函式式程式设计具有不少独特之处。其次,超大规模积体电路技术的发展,为发挥函式式程式设计语言的潜在并行性提供了物质基础。可以预期,一些具有诸如高度并行性等特点的非诺伊曼式计算机将会出现。随着硬体技术的发展、软体方法的研究,以及套用范围的不断扩大,函式式程式设计将得到发展,并在新一代计算机系统中起重要作用。函式语言
函式语言以λ-演算为其语义基础,它的基本机制是函式对参数的作用,函式是程式的基本项,程式的编制便是函式的递归构造过程。从数学观点看,函式是从一个域(定义域)到另一个域(值域)的映射,即函式描述了两个域上元素的对应关系。因此,函式语言是一种描述性语言,它只给出需求解问题的定义而不需给出具体的求解过程和细节。求解过程是语言本身经过套用一系列重写规则实现的。λ-演算作为一个重写系统满足合流性,即一个项若有范式,则不同的重写策略将导致相同范式,从而保证程式求解的唯一性。 由上可知,函式语言具有相当清晰简明的指称语义和重写操作语义,这对程式正确性验证尤为重旁。函式语言的主要优点是:(1)数学优美性,(2)简单性,(3)引用透明性。正是由于这些优点,所以易于语言编写程式,且程式易读易维护,程式也很短小简练。特别地,程式具有较好的代数性质,易于程式演绎和正确性验证。引用透明性带来的另一个主要优点是程式具有天生的并行性。 最早的函式语言可数Lisp,是McCarthy在1960年创立的,其初始动机是为考虑匿名函式的表示,开发一个用于Al的代数表处理语言。 应该说在Lisp开发早期卜演算的影响甚微,但由于Lisp本身有很好的数学优美性,它对函式语言的发展产生了重大影响。Lisp至今仍是最流行的函式语言,主要用于智慧型系统的编程。出于效率的考虑,它现已变成一种不纯的、有副作用的函式语。 很赞哦! (1078)