[Announce] ECL 20.4.24, ABCL 1.6.1, CCL 1.12

100 views
Skip to first unread message

n.akr.akiiya

unread,
Apr 26, 2020, 12:52:19 AM4/26/20
to Lisp-cn(Lisp中文用户组)
这几年的 Common Lisp 世界可谓是一片寂静,除了 SBCL 依旧坚挺(依据没多少长进,除了版本号)。最近总算是有一些让人兴奋的发布消息。

Clozure Common Lisp 1.12
 - 自从维护了几十年CCL的 gary bayers 因为身体原因退役后就一蹶不振了,仓库也从SVN移到了github,仍旧没有多少发展。不过总算是标记了一个新版本。
 - 苹果用户可能要注意,由于苹果汇编器的bug(和版本有关),可能会出一些问题。

Embeddable Common Lisp 20.4.24
 - 这是 Common Lisp -> C 的编译器,同时也带解释器。憋了几年终于出新版,有点改头换面的感觉,尤其是新版的手册界面。这个实现一定程度上是Android上开源CL的首选。

P.S. 这几年有个从ecl改过来的直接基于llvm的实现,clasp,也算能跑了,可以观望。

ABCL 1.6.1
 - 这是 Common Lisp on JVM 的一个实现,特点是可以使用 JVM 上的资源。也许各种支持并不是很全,但总算是完整符合标准的。
 - ABCL支持JSR-223,和js一样,可以直接作为JVM上的脚本语言使用。
 - 原本并不支持jdk 8以后的版本,现在已经支持到14了。从1.6开始就支持jdk 11了。
 - ABCL的优化是相当差的,几乎接近“没有优化”。但可以从JVM获得强大的性能提升。去年还是前年有过一个测试,同样的算法代码,jdk 8上跑的abcl的速度比大家口中“最快”的sbcl慢一些;换了jdk 11跑abcl,比sbcl还快十几秒(总共计算时间1分钟左右),一跃成为目前最快的CL实现。

看到CL界的进步真是老泪纵横 o(╥﹏╥)o



Liutos

unread,
Apr 26, 2020, 6:26:29 AM4/26/20
to lis...@googlegroups.com
(没想到SBCL居然不是真的最快的(逃

n.akr.akiiya <n.akr....@gmail.com> 于2020年4月26日周日 下午12:52写道:
--
--
Lisp-cn(Lisp中文用户组)
CLUG https://lisp-cn.com
---
您收到此邮件是因为您订阅了Google网上论坛上的“Lisp-cn(Lisp中文用户组)”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到lisp-cn+u...@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/lisp-cn/93326083-70de-4b3a-8ad5-bb90e6d6109b%40googlegroups.com


--
Liutos Love Linux LaTeX Lisp Ling

我的GitHub主页:https://github.com/Liutos

Xiangyu He

unread,
Apr 26, 2020, 6:34:51 AM4/26/20
to lis...@googlegroups.com

现在学术圈偏爱SchemeRacket),工业界的话都集中在Clojure,越来越难见到有重要的Common Lisp项目出现了。

--
--
Lisp-cn(Lisp
中文用户组)
CLUG https://lisp-cn.com
---

Xiaofeng Yang

unread,
Apr 26, 2020, 9:12:27 AM4/26/20
to lisp-cn
你要知道, Common Lisp 标准委员会在2004年就解散了,就是因为没人了。 而在1994年制定完标准以后,组委会的人就去做ISLISP了,所以这10年来标准并没有变。而ISLISP,也并没有发展起来。

CL实际上早就基本上是死了的,但是死了没死透还能再被拉出来又活一阵子啊,如此反复。

LISP世界这几年也很惨,且不说各大核心网站、组织和实现相继“阵亡”,ELS这种定期面基都出现了没人捧场的局面。

Scheme 仍旧会继续活跃于学术界, Clojure 集中在新项目。仍旧有大量用CL的老项目需要维护,或者重写成本太高,当然也有少量用 CL 写的新项目。

最神的是神语言作者Mark,2月份的时候,连续几天写商业版Shen Professional的IDE,日均50k行代码,印象中最多一次好像是一天80k行。当时有人说是“生成的”,神语言调用Tk写界面,这样的代码哪来的生成器,而且还是新项目。而且,我估计这项目只他一人在做。

所以,几个新消息堆到一起,真的是老泪纵横啊 o(╥﹏╥)o

     Best regards,
Xiaofeng Yang


Xiaofeng Yang

unread,
Apr 26, 2020, 9:14:29 AM4/26/20
to lisp-cn
你也试过了?

你在sbcl中declare/the/...,定义半天,搞不好还会有危险。不如abcl完全不写这些东西,全靠jvm运行时帮你分析、优化、编译,算上这些时间和你代码的执行时间,都比你sbcl快。

     Best regards,
Xiaofeng Yang


Xiangyu He

unread,
Apr 26, 2020, 9:55:05 AM4/26/20
to lis...@googlegroups.com

一天80k行代码确实太神了 XD

 

我在想Common Lisp放到2020年到底还有什么独特的地方?对我来说:

1. CLOS & MOP

2. NIL

3. Lisp-2(给东西命名不是个容易的活,Lisp-2让它容易一些)

4. 有两个比较健壮的商业实现(虽然贵的要死)

5. Native code compilerChez?生态太小玩起来要hack到死,Racket试了一下实在slow as fuck,放弃)

 

Common Lisp行将就木这点是无法改变了,有小部分人玩的开心就好 : )

 

Xiaofeng Yang

unread,
Apr 26, 2020, 10:38:18 AM4/26/20
to lisp-cn
mop并没有进入正式标准,只存在于民间标准cdr中。但是像cl这样什么东西都可以瞎改的语言,那是非常危险的。

其实吧,你把标准啃下去你会发现非常多你在现代主流语言里看不到的设计,保证让你大开眼界。举个例子,这里说到危险,cl是动态类型的,但是允许在一定条件下不做类型检查。这在实现里也有体现。比方说,你一个a类型的变量,直接当成b类型来使用,由于这俩对象的内部表示并不兼容,于是奇奇怪怪的问题就产生了,像极了C语言弄错了指针。这是所有现代语言,恕我眼界小,都不可能有的设计,现代语言绝对不会允许这种不做类型检查的事情发生。

Xiangyu He <x...@coobii.com> 于 2020年4月26日周日 21:55写道:
image001.jpg

Liutos

unread,
Apr 26, 2020, 9:45:17 PM4/26/20
to lis...@googlegroups.com
这么刺激!把CL当汇编用(

Xiaofeng Yang <n.akr....@gmail.com> 于2020年4月26日周日 下午10:38写道:

Jeova Sanctus Unus

unread,
Apr 28, 2020, 6:39:38 AM4/28/20
to lis...@googlegroups.com
真爱啊, 各位还在关注。

Xiaofeng Yang <n.akr....@gmail.com> 于2020年4月26日周日 下午9:12写道:
Reply all
Reply to author
Forward
0 new messages