最近看了看lisp,有了点感想,如果你不知道什么是lisp,希望你先去百度百科一下,并看一下一篇叫做lisp的本质的文章。
果然我也开始不断的跟别人重复说,lisp到底有多好多好。。。
lisp是一门很接近人工智能的语言,也是最适合开发人工智能程序的语言。它的很多思想,能在大工程项目中得到实际应用。
简要来说,lisp是一门函数式编程语言,lisp的每个程序段都是极为灵活的,都能被保存起来,并进行修改,这种思想,我将其称为程序等价数据的思想。程序本身也是数据。
(defun print-line (x)
(loop for i from 1 to 10 do (print x)))
你可以这样调用 (print-line "*")
但如果你将函数定义成这样:
(defparameter *line* nil)
(setf *line* '(defun print-line (x)
(loop for i from 1 to 10
do (print x))))
;;;修改此函数
(setf (nth 1 *line*) 'print-line2)
(setf (nth 6 (nth 3 *line*)) 20)
你就可以写出能自我修改的函数