【发布时间】:2011-05-19 19:33:59
【问题描述】:
我是一位经验丰富的 C++/.NET/Java Windows/web 程序员,正在尝试学习(通用)Lisp。我正在阅读Practical Common Lisp 并使用SLIME。
我很容易获得 Lisp 语言,但我在探索开发机制时遇到了麻烦。我的问题之一是处理 Emacs。我没有使用它的经验,并且发现它通常与难以查找/弄清楚的命令混淆。
具体问题:
- 我收到了REPL,但我不太明白如何有效地使用它。当我需要更改函数时,我必须重新键入 defun 并进行更改(繁琐且容易出错)。我怎样才能做得更好?
- 如何从在 REPL 输入代码到实际拥有程序?我习惯了 C 模型,您可以在其中查看、编辑和重新编译代码文件。我知道 Lisp 有类似的东西(通过加载函数),但是如何将我刚刚定义并测试的函数放入要保存的文件中?我希望有比我目前的选择+复制+粘贴更好的方法。
- 如何调试错误?是否可以像使用其他语言一样进入代码?
- 只要 S 表达式有效,我在输入
(defun ...)时不会出现任何错误。直到我尝试使用它才发现它无效。有什么方法可以更快地得到错误(即编译代码)? - 是否有一些 IDE 让我更熟悉或让我更轻松地使用该语言?
- 我应该改用 Scheme 学习吗?
任何提示将不胜感激!
【问题讨论】:
-
您可能还想研究 Clojure;它是一个在 JVM 上运行并具有良好互操作性的 lisp。用Java。我还没有使用它,但是看过一些关于它的讲座,它看起来不错。