本文目录
- Common Lisp支持多线程吗
- 能推荐下比较经典的common lisp 代码么
- 相比Scheme 与 Common Lisp,Clojure 有哪些坑
- 如何查看common lisp函数的文档
- common lisp应用领域、入门前应具备哪些方面的知识
- common lisp用什么开发工具,编译器是什么
- common lisp和 elisp和 schema哪个好
Common Lisp支持多线程吗
支持。
但是多线程de的实现在不同的Common Lisp实现中有各自的库。我目前的程序中,用的是 SBCL。
SBCL的扩展库 sb-thread 支持多线程(Linux , Mac 下, windows下没试过)。
能推荐下比较经典的common lisp 代码么
CL本身就是一门通用语言,如果英文够好的话可以看看
LISP
outside
the
box
Common
LISP
Cookbook
Lisp
for
the
web
Lisp
web
tales
这些书,网上有免费章节可以读
再看看别人怎么说的。
相比Scheme 与 Common Lisp,Clojure 有哪些坑
举一些对新手不是很适应的地方,未必是坑:
各种铺面而来的语法糖让人略不知所措(如果像我一样之前只跟着SICP写写scheme),可以在标识符前后加好多符号啊,有尖号^ 井号尖号#^ 波浪线~ 波浪线艾特~@ 后缀井号# ......好甜好甜
Clojure由于jvm-based的原因,正常写出来的尾递归是不会被优化的,只能用recur
对于从只弄Java转过来的,那种(.method Object & args)语法会很蛋疼,因为觉得世界都颠倒过来了,不过当用惯了-》和-》》后,会觉得世界稍稍正常一点,调用链还在嘛
没有传统的car cdr
nil就是空,nil或false在if中都是假值,其他都是真
小心binding,有些是sequentially求值的,有些不是;在使用laze-seq的时候,要注意bindings的作用域,不要引入外层的binding
2013.12.16 Update, 一个小地方:contains? 是个名不副实的家伙,不要被欺骗了,比如 (contains? ’(100 101 102) 101) 的结果是 false。这个函数原型说明是(contains? coll key),即检查(coll key)返回是nil/false,还是其他值。想找include意义的函数,请用some.
如何查看common lisp函数的文档
Common Lisp有几百个函数,不可能把所有的函数用法都记得很清楚,所以就希望在编写程序时可以随时的查看函数的文档描述。
首先,我找到documentation函数,其用法是:
[plain] view plaincopy
(documentation ’symbol ’type)
common lisp应用领域、入门前应具备哪些方面的知识
一楼二楼,已经说的差不多啦,我来补充一下,人工智能这方面的:
(1)lisp确实强大到让其他语言的程序员嫉妒但又不承认的程度
(2)lisp有好多方言,初学用Common Lisp,再深一点可以考虑SBCL,至于AutoLisp只是针对于CAD作图方面的
(3)为什么国内人很少用CommonLisp ,在百度上一搜lisp出来的全是AutoLisp呢?原因很简单,中国程序员一般从事很低级的编程工作(有的人以自己在华为工作而自豪,但就算是华为,做的也都是很垃圾很低级的工作),所以一般用不到lisp。
(4)现在人工智能普遍用两种语言:
a.----Lisp
b.----prolog
前者是美国人工智能程序员惯用的语言,后者是欧洲,和日本人工智能程序员惯用的语言,但现在的趋势是,人工智能程序员,同时掌握这两种语言
(5)有很多人认为C,Cpp,......这种语言为通用语言,而像是lisp prolog这种语言为专属某个领域而用的,但他们都是小鸟,事实是这样的,C,Cpp ....这才是专用语言,当初设计的时候就是这么定位的
(6)Common Lisp值得一学,但中文资料确实少,我这有三本书pdf的,英文的,你如果想要,可以说一声,我发给你
(7)搞lisp就别用百度啦,基本没人能回答你提的关于lisp的问题,用 “ Stack Overflow ”吧,它绝对能满足你....................
------------------------------------------------------------------------------------------------
还有“practice common lisp”,个人人为不太适合入门,原文的语言太晦涩,中文翻译的更烂
推荐“Paradigms of artificial intelligence programming”case studies in common lisp, 这本书前半程讲的都是common lisp 很细,而且作者的语言很流畅不晦涩,解释的很细致..........
common lisp用什么开发工具,编译器是什么
Corman Lisp是Windows操作系统下的Common Lisp开发环境,Corman Lisp包含了一套Intel处理器下的Common Lisp原生代码编译器、80x86汇编和反汇编工具以及多窗口的文本编辑器。Corman Lisp支持运行在Windows系列操作系统上,如Windows XP、Windows 2000等。Corman Lisp全面支持Win32 API、全部的Windows API函数等。关于Corman Lisp的特性,可查看官网介绍。
目前,Corman Lisp最新版本已经开源,分发协议为MIT。
common lisp和 elisp和 schema哪个好
必须scheme, 没有疑问.(一般都看见问commonlisp和scheme哪个好.....没见过跟elisp这种垃圾比的)
elisp跟scheme没有可比性.....
elisp是古老的一堆问题的老lisp
scheme虽然也好几十年了但是一直在更新发展而且设计本身比elisp要出色很多.
elisp只是一个局限在一个编辑器里的脚本, scheme却有一个无限的空间在外面等你.