函数式语言简介(functional language)
1、什么是函数式语言?
是一种非冯·诺伊曼式的程序设计语言。函数式语言主要成分是原始函数、定义函数和函数型。这种语言具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理;可以把函数作为参数,其结果也可为函数,这种定义的函数称为高阶函数,程序就是函数,程序作用在结构型数据上,产生结构型结果,从根本上改变了冯·诺伊曼式语言的“逐词”工作方式。
2、函数式语言包含哪些?
函数语言以λ-演算为其语义基础,它的基本机制是函数对参数的作用,函数是程序的基本项,程序的编制便是函数的递归构造过程,从数学观点看,函数是从一个域(定义域)到另一个域(值域)的映射,即函数描述了两个域上元素的对应关系。因此,函数语言是一种描述性语言,它只给出需求解问题的定义而不需给出具体的求解过程和细节。求解过程是语言本身经过应用一系列重写规则实现的。
Common lisp 和Scheme 、erlang和ocaml。
3、函数式语言为什么流行?
函数式程序设计受到重视的原因有很多。首先,由于产生了“软件危机”,人们企图探讨一种摆脱这种困境的新型程序设计方式,而函数式程序设计具有不少独特之处。其次,超大规模集成电路技术的发展,为发挥函数式程序设计语言的潜在并行性提供了物质基础。可以预期,一些具有诸如高度并行性等特点的非诺伊曼式计算机将会出现。随着硬件技术的发展、软件方法的研究,以及应用范围的不断扩大,函数式程序设计将得到发展,并在新一代计算机系统中起重要作用。