我一直在用 clojure 开发游戏,而我一直非常兴奋的一件事是代码中的热交换。
我一直在使用带有lein-swank
插件的 swank clojure 和 emacs。
我的主要问题是错别字。假设我更新了一个函数,犯了一个小错误,然后按 Ctrl-C Ctrl-C 将其发送到 REPL:
(if (> (rand) .5) (println "yay") (println "boo"))
(我应该写0.5
,不是.5
。)
在那种情况下,整个程序只会崩溃和烧毁,我需要重新启动整个程序。热插拔很棒,但如果我连一个小错误都不能犯,那又有什么意义呢?
那么这里的工作流程到底是什么?我错过了什么吗?或者有没有办法让 swank clojure 对这些小错误更有弹性?(我想最好的办法就是重置到以前的工作状态,尽管这可能有点困难。)
谢谢!