标签: common-lisp

构建LISP机器需要多少原语?十,七,五?

在这个网站上,他们说有10个LISP原语.原语是:atom, quote, eq, car, cdr, cons, cond, lambda, label, apply.

http://hyperpolyglot.wikidot.com/lisp#ten-primitives

Stevey估计有七个(或五个):

它是LISP概念纯度的一部分:你只需要七个(或五个?)原语来构建整个机器. http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html

构建LISP机器的最小基元数是多少(即可以在LISP代码上运行eval/value函数的东西)?(他们是哪一个?)

(我明白你可以没有生活atom, label and apply)

lisp primitive scheme clojure common-lisp

76
推荐指数
6
解决办法
1万
查看次数

Scheme和Common Lisp之间有什么实际区别?(或任何其他两种Lisp方言)

注意:我不是在问哪个学习,哪个更好,或者类似的东西.

我拿起SICP的免费版本,因为我觉得阅读会很好(我听说过很好的东西,而且我对这种编程方面很感兴趣).

我知道Scheme是Lisp的一种方言,我想知道:Scheme和Common Lisp之间的实际区别是什么?

似乎有很多关于'CL有一个更大的stdlib ...方案对现实世界的编程不好......'但实际上并没有说'这是因为CL就是这个/有这个'.

lisp scheme common-lisp sicp racket

71
推荐指数
3
解决办法
2万
查看次数

Common Lisp中的eq,eql,equal和equalp有什么区别?

什么之间的区别eq,eql,equalequalp,在Common Lisp的?我知道其中一些检查类型,其中一些检查所有类型,但哪个是哪个?什么时候比其他人更好用?

syntax equality common-lisp

69
推荐指数
3
解决办法
3万
查看次数

为什么Lisp社区如此分散?

首先,不仅有两种主要的语言方言(Common Lisp和Scheme),而且每种方言都有许多单独的实现.例如,Chicken Scheme,Bigloo等......每个都有细微差别.

从现代的角度来看,这很奇怪,因为现在的语言往往具有明确的实现/规范.想想Java,C#,Python,Ruby等,每个网站都有一个单一的权威网站,您可以访问API文档,下载等.当然,Lisp早于所有这些语言.但话说回来,甚至C/C++都是标准化的(或多或少).

由于Lisp的年龄,这个社区的碎片化是什么?或者也许不同的实现/方言旨在解决不同的问题?我理解为什么Lisp永远不会像在一个明确的实现中成长的语言那样团结一致,这是有充分理由的,但是在这一点上,Lisp社区不应该向这个方向发展吗?

lisp scheme common-lisp

69
推荐指数
5
解决办法
8206
查看次数

优秀的Common Lisp代码示例?

我已经学到了足够的Common Lisp,能够通过编写应用程序来混淆我的方式.我读过Seibel的Practical Common Lisp

我应该阅读哪些图书馆或程序来理解Common Lisp的成语,道?

lisp common-lisp

60
推荐指数
5
解决办法
1万
查看次数

Lisp评论大会

有关用于不同类型注释的分号数量(以及不同数量的分号的缩进程度应该是多少)的Lisp约定是什么?

另外,是否有关于何时使用分号注释以及何时使用的约定#|multiline comments|#(假设它们存在且存在于多个实现中)?

lisp comments conventions common-lisp

60
推荐指数
5
解决办法
4万
查看次数

Lisp可执行文件

我刚刚开始学习Lisp,我无法弄清楚如何编译和链接lisp代码到可执行文件.

我正在使用clispclisp -c生成两个文件:

  • .fas
  • 的.lib

接下来我要做什么来获取可执行文件?

lisp clisp build common-lisp

59
推荐指数
4
解决办法
2万
查看次数

Clojure关键字参数

在Common Lisp中你可以这样做:

(defun foo (bar &key baz quux)
  (list bar baz quux))

(foo 1 :quux 3 :baz 2) ; => (1 2 3)
Run Code Online (Sandbox Code Playgroud)

Clojure没有关键字参数.一种选择是:

(defn foo [bar {:keys [baz quux]}] 
  (list bar baz quux))

(foo 1 {:quux 3 :baz 2}) ; => (1 2 3)
Run Code Online (Sandbox Code Playgroud)

这是太多的嵌套括号,必须一直打字和阅读.它还需要将显式散列映射作为参数而不是平面列表传递.

什么是最惯用的Clojure相当于关键字参数,看起来没有人引发标点炸弹?

lisp binding clojure common-lisp params-keyword

52
推荐指数
3
解决办法
1万
查看次数

最好的Common Lisp IDE

我在Emacs中使用Slime作为Common Lisp(或OS X上的Aquamacs)的主要开发环境,但是还有其他令人信服的选择吗?我听说过Lispworks,但是那个[还是别的什么]值得一看?或者是否有人有提示充分利用Emacs(例如,将其连接到hyperspec以便于参考)?

更新:Pascal Costanza 对Lisp高度评价指南的第7节给出了一个观点.但对我来说,SLIME似乎真的就是它的所在.

更多资源:

lisp ide emacs common-lisp

48
推荐指数
5
解决办法
3万
查看次数

Lisp中的setq和defvar

我看到实用的Common Lisp使用(defvar *db* nil)设立一个全局变量.是否可以setq用于同一目的?

使用defvarvs. 的优点/缺点是setq什么?

lisp variables common-lisp variable-declaration assign

47
推荐指数
4
解决办法
2万
查看次数