104得票8回答
Haskell、Lisp和冗长性

对于那些既有 Haskell 经验又熟悉某种 Lisp 方言的人,我很想知道在 Haskell 和 Lisp 中编写代码的体验有何不同。 一些背景:我正在学习 Haskell,在此之前曾使用过 Scheme 和 CL(还略微尝试了 Clojure)。传统上,你可以认为我是动态语言的粉丝,因为...

103得票9回答
我应该学习哪种Lisp方言?

我知道有几种不同的Lisp方言。决定学习Lisp将是一次新的智力体验之后,我想知道应该学习哪种Lisp方言以及为什么。 有没有一种方言比其他方言更受欢迎?是否有一种方言更“完整”,即文档和支持更好?这种方言的优点和缺点是什么?

101得票11回答
在Lisp中进行(严肃的)Web开发是否可行?

显然,几乎任何类型的应用程序都可以使用几乎任何编程语言来编写,特别是像 Lisp(无论是 Scheme 还是 Common Lisp)这样强大的语言。但是将其用于 Web 开发是否切实可行?如果是,什么是一个良好的起点?在哪里可以找到适合此类项目的正确资源(工具、库、文档、最佳实践、示例等)?

97得票5回答
如何配置emacs编辑同时包含Javascript的HTML文件?

我已开始使用emacs编辑既有HTML标签又带有javascript内容的文件,这是一个痛苦的起步。我安装了nxhtml并尝试使用它 - 即设置使用 nxhtml-mumamo-mode 来编辑 .html 文件。但我不喜欢它。当我编辑代码的Javascript部分时,制表符缩进的行为与编辑C...

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

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

92得票3回答
这句话的意思是“我的另一辆车是CDR”。它通常被印在汽车贴纸上,意味着该车主也拥有一辆CDR(可能是指CD-R光盘)。

有精通Lisp的人能帮我解释这个笑话吗? 我已经阅读了一些关于函数式编程语言的资料,知道CAR/CDR意味着地址内容/减少寄存器,但我仍然不太明白其中的幽默。

90得票31回答
Python与Ruby在元编程方面的比较

我目前主要是D程序员,希望增加另一种语言到我的工具箱,最好支持元编程技巧,这些技巧在像D这样的静态编译语言中无法实现。 我已经稍微了解了一下Lisp,并且希望找到一种允许做一些酷炫的东西,但没有Lisp那种奇怪的语法等的语言。我不想引发语言之争,我相信Ruby和Python都有它们的优缺点,...

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

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

89得票12回答
函数指针、闭包和Lambda

我现在正在学习函数指针。当我阅读K&R关于这个主题的章节时,第一件让我印象深刻的是,“嘿,这有点像闭包。”但我知道这种假设在根本上是错误的,经过在线搜索后,我并没有找到真正比较这两者的分析。 那么为什么C风格的函数指针与闭包或lambda表达式有根本性的不同呢?据我所知,这与函数指针仍...

89得票5回答
如何使Clojure函数接受可变数量的参数?

我正在学习Clojure,尝试定义一个可以接收可变数量参数(即“variadic”函数)并将它们加总的函数(就像+操作一样)。然而,我不知道如何实现这样的函数。 我所能做的只有: (defn sum [n1, n2] (+ n1 n2)) 当然,这个函数仅接受两个参数。请教我如何让它接受...