Erlang/Elixir 新的可能,Lisp and Erlang, LFE

chenge · 2016年12月11日 · 最后由 hhkbp2 回复于 2016年12月23日 · 3546 次阅读

今天在推上看到介绍这个,意味着可以用 Lisp 来开发 Erlang,可以集合双方的优势,多了一个选项,真是不错。感受下这个代码,可读性似乎是不错的,纯正的 Lisp。

四个括号还可以接受,呵呵。

网址:http://lfe.io/

(defun make-process (id pid)
  (spawn 'ring 'roundtrip (list id pid)))

(defun roundtrip (id pid)
  (receive
    (1
      (io:fwrite '"Result: ~b~n" (list id))
      (erlang:halt))
    (data
      (! pid (- data 1))
      (roundtrip id pid))))

任何 C 或 Fortran 程序复杂到一定程度之后,都会包含一个临时开发的、不合规范的、充满程序错误的、运行速度很慢的、只有一半功能的 Common Lisp 实现。—— 格林斯潘第十定律

Paul Graham 后来给这个格言加了一个推论。

包括 Common Lisp。

包括 Erlang、Ruby、JavaScript 在内的高度灵活的动态语言,不免和 Lisp 的设计有很多相似之处。在这些语言的虚拟机上支持 Lisp 本身的语法其实相对来说并不麻烦。

#1 楼 @dsh0416

哦,我知道 Paul 告訴你,他是用 Lisp 寫出他的應用程式,然後因為程式是用 Lisp 寫的所以賺了幾百萬;不過說實在的,只有兩個人曾經相信他,而且這兩個人在完全重寫過之後是不會再犯那種錯誤的。

http://local.joelonsoftware.com/wiki/%E8%AA%9E%E8%A8%80%E6%88%B0%E7%88%AD

#2 楼 @Rei 哈哈哈哈哈哈哈,我也不相信裸写 Lisp,纯 Lisp 更像是在写语法树而不是在写程序。但是我相信基于 Lambda 演算模型做出更好的语法设计,从而又具备 Lisp 那样高度灵活性和高度抽象性的动态语言,但又能让编程有更好的可读性和工程性的东西。这两年 Lisp 社区其实发展得也很迷,不是很懂。

也许你会对这个项目感兴趣 https://github.com/kapok-lang/kapok

https://ruby-china.org/topics/29703 用这个你还可以用 lisp 开发 ruby,不用任何扩展

#6 楼 @mizuhashi 这个似乎意义不大,也不容易理解。

#5 楼 @hhkbp2 好像关注人不多哦。

#8 楼 @chenge 是的,最近刚刚起步的项目

需要 登录 后方可回复, 如果你还没有账号请 注册新账号