|
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式程序设计语言 > 程序设计语言的分类和特点 > 程序设计范型 >
|
相关知识点:4个
|
|
|
|
函数式语言是一类以λ-演算为基础的语言,其基本概念来自于LISP,这是一个在1958年为了人工智能应用而设计的语言。函数是一种对应规则(映射),它使定义域中每个元素和值域中唯一的元素相对应。例如:
|
|
|
|
函数定义2:Plustwo[x]:=Plusone[Plusone[x]]
|
|
|
函数定义3:fact[n]:=if n=0 then 1 else n*fact[n-1]
|
|
|
在函数定义2中,使用了函数复合,即将一个函数调用嵌套在另一个函数定义中。在函数定义3中,函数被递归定义。由此可见,函数可以看成是一种程序,其输入就是定义中左边括号中的量,它也可将输入组合起来产生一个规则,组合过程中可以使用其他函数或该函数本身。这种用函数和表达式建立程序的方法就是函数式程序设计。函数式程序设计语言的优点之一就是对表达式中出现的任何函数都可以用其他函数来代替,只要这些函数调用产生相同的值。
|
|
|
函数式语言的代表LISP在许多方面与其他语言不同,其中最为显著的是,该语言中的程序和数据的形式是等价的,因此数据结构就可以作为程序执行,程序也可以作为数据修改。在LISP中,大量地使用递归。
|
|
|