198得票6回答
Common Lisp中`set`、`setq`和`setf`的区别是什么?

在Common Lisp中,“set”、“setq”和“setf”的区别是什么?

178得票22回答
学习LISP的最佳方法是什么?

我已经用Python、PHP、Java和C编程了几年,刚刚读完《黑客与画家》,所以我想尝试一下LISP! 我知道它完全不同于我所知道的语言,而且学习起来也不容易。此外,我认为(如有错请指正)LISP社区和开发人员要少得多。因此,我的问题是:学习LISP的最佳途径是什么? 我不介意买书或花时...

150得票4回答
请解释一下 Paul Graham 在 Lisp 方面的一些观点

我需要帮助理解一些来自保罗·格雷厄姆《Lisp与其他语言的区别》的观点。 新的变量概念。在Lisp中,所有变量实际上都是指针。数值有类型,而不是变量,赋值或绑定变量意味着复制指针,而不是指向的内容。 符号类型。符号与字符串的区别在于可以通过比较指针来测试它们是否相等。 使用符号树表示代码的...

149得票4回答
Clojure、Scheme/Racket和Common Lisp有什么区别?

我知道它们都属于 Lisp 语言家族的方言,但它们到底有什么不同呢?如果可能的话,您能否给出一个概述,涵盖语法、特点、功能和资源等主题。

148得票38回答
现实世界中的Lisp

我曾经尝试过Lisp(实际上是Scheme),发现它是一种非常优美的语言,我对深入学习它很感兴趣。然而,似乎Lisp从未被用于严肃的项目中,并且我在任何招聘信息中都没有看到它被列为所需技能。我想听听有谁使用过Lisp或者在“真实世界”中看到过它的使用情况,或者知道它是否被认为是一种纯粹的学术语言。

143得票12回答
为什么eval被认为是“邪恶”的?

我知道Lisp和Scheme程序员通常会说,除非绝对必要,否则应避免使用eval。我看到过几种编程语言的相同建议,但我还没有看到一份明确反对使用eval的论据清单。在哪里可以找到关于使用eval的潜在问题的说明呢? 例如,我知道在过程式编程中使用GOTO会带来问题(使程序难以阅读和维护,使安...

106得票4回答
Scheme和Common Lisp(或Lisp的其他两个方言)之间的实际区别是什么?

注意:我不是在询问应该学习哪种语言,哪个更好之类的问题。 我选择了免费版本的SICP,因为我觉得它很不错(我听说过一些好的评论,而且我对编程这方面很感兴趣)。 我知道Scheme是Lisp的一个方言,我想知道:Scheme和通用Lisp之间的实际区别是什么? 有很多关于“ CL有更大的s...

104得票4回答
Clojure与其他Lisp语言的比较

我的问题意图不是要引发争论,而是要确定在什么情况下每种语言都是“最佳工具”。我读过几本关于Clojure的书(Programming Clojure, Practical Clojure, The Joy of Clojure和Manning早期版本的Clojure in Action),我认...

95得票11回答
使用Vim进行Lisp开发

我已经有一段时间断断续续地使用Lisp了,但现在开始更加认真地在Lisp上做一些"真正的"工作。我是一个巨大的Vim爱好者,想知道如何在使用Vim作为编辑器时最有效率地进行Lisp开发。欢迎提供插件、工作流建议等。 请不要建议我使用emacs,因为我已经熟悉了Vim,并且非常喜欢它作为编辑器。

89得票16回答
Common Lisp中LET与LET*的区别

我理解 LET 和 LET*(并行绑定和顺序绑定)之间的区别,从理论上讲它很有道理。但是你是否曾经遇到过需要使用 LET 的情况?在我最近查看的所有 Lisp 代码中,您可以将每个 LET 替换为 LET* 而不进行任何更改。 编辑:好吧,我明白了为什么有人发明了 LET*(可能是一个宏)。我...