357得票15回答
Lisp宏有何特别之处?

阅读Paul Graham的文章关于编程语言,你会认为Lisp宏是唯一正确的选择。作为忙碌的开发者,在其他平台上工作,我没有使用Lisp宏的特权。作为一个想要理解这种功能强大之处的人,请解释一下是什么让这个特性如此强大。 请还将其与Python、Java、C#或C开发领域中的某些东西联系起来...

214得票6回答
Racket和Scheme有何不同?

Racket是Scheme的一个后代。Racket与R6RS有何不同?它添加了什么,或者减少了什么,还是只是不同? 我知道Racket不仅仅是一种语言,它还是一种语言平台。但我指的是主要的Racket方言。

205得票13回答
函数式编程是否有软件工程方法论?

如今,软件工程教育完全专注于面向对象编程和“自然”的面向对象世界观。有一种详细的方法论描述了如何通过多个步骤和大量 (UML) 工件(如用例图或类图)将域模型转化为类模型。许多程序员已经内化了这种方法,并且对从头开始设计面向对象应用程序有很好的想法。 新的热点是函数式编程,在许多书籍和教程中...

196得票10回答
为什么要使用Lisp进行人工智能开发?

我一直在学习Lisp语言,以扩展我的视野,因为我听说它被用于人工智能编程。经过一些探索后,我尚未找到任何关于人工智能的例子或者任何让Lisp更倾向于人工智能的特性。 Lisp过去是否因其可用性而被使用,还是我有什么遗漏的东西?

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

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

155得票17回答
Clojure中最好的GUI实现方式是什么?

怎样在Clojure中实现最佳GUI效果? 是否有一些函数式Swing或SWT的包装示例? 或者是否有与JavaFX声明式GUI描述集成的方式,可以使用一些宏技术轻松地将其包装到s-expressions中? 有任何教程吗?

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会带来问题(使程序难以阅读和维护,使安...