关于Common Lisp的hot update(热更新)
程序员文章站
2024-01-10 18:29:04
...
CL的热更新也算是其一大特色了,配合着slime和swank就可以带来不同的编程体验!下面我们就来感受一下它的神奇之处。看下面代码:
(defun show (i) (print i)) (defun main () (loop for i from 1 to 1000 do (show i) (sleep 1)))
程序结果会是这样的:
此时如果我们修改了show函数
(defun show (i) (print (* i i)))
哇唔!很爽不是吗?这样的话,我们就可以在项目需要修改的时候用slime连接服务器端的swank,修改完成后C-c C-c就可以看到修改的结果了! 不过要注意的是,如果在main函数运行的过程中修改main函数,修改是不会被更新的,只有重新调用main的时候修改的效果才会出现。在项目中,只要我们不修改入口函数或者一直循环的程序,其他都是可以热更新的,十分方便!