SK Combinators

来源:互联网 发布:db2查看sql执行计划 编辑:程序博客网 时间:2024/05/01 21:49

(defun  s  (f  g  )

(lambda (x)

(funcall (funcall  f  x ) (funcall g  x) ) 

)

)

 

(defun  k (f)

(lambda (x)

f

)

)

 

(defun  i ( )

(lambda (x)

x

)

)

 

 

 

(defun  test( n)

(+  n  (*  n   2) )

)

 

(test  5)

 

(defun add (one)

(lambda(two)

(+  one  two)

)

)

 

(defun mul (one)

(lambda(two)

(*  one  two)

)

)

 

 

 

(setq result  (s  (k  'mul) (i) )  )

(funcall  result  5)

 

(setq result  (s (s  (k  'mul) (i) )  (k 2) ))

(funcall  result  5)

 

 

(setq result (s  (s (k  'add)  (i) ) (s (s  (k  'mul) (i) )  (k 2) ) ) )

(funcall  result  5)