高阶过程其实就是指接受过程作为其中一个变量的过程,其中的操作包括应用接受的过程进行相关求解,或者对接受的过程进行一定得修改获得新的过程(其实就是对过程的产生结果进行特定的修改)。而要实现这一种能力的方法为在执行过程之中定义匿名函数lambda()
。
例如,现拥有一个过程f
,要对f
的输出结果进行修改之后输出,就可以进行如下过程定义:
(define average-damp
lambda(f)
(lambda(x) (op (f x))))
就可以对f过程的输出结果进行特定的操作获得相应的结果
表list的例子
在lisp中,设计出一种复合过程叫cons
,其表示一种二元表结构,其隶属操作为car
和cdr
,分别取得表结构的第一部分和第二部分。为lisp中内含的复合过程,其实现方法如下:
(define (cons a b)
la