代码之家  ›  专栏  ›  技术社区  ›  Paul

将公共Lisp代码移植到Clojure

  •  34
  • Paul  · 技术社区  · 15 年前

    4 回复  |  直到 15 年前
        1
  •  32
  •   Brian Carper    15 年前

    有一个 list on clojure.org Clojure和其他Lisp之间的差异。我在使用Clojure时注意到的其他一些事情:

    • 惯用的Clojure非常倾向于不可变的数据结构。你看到的任何地方 SETF

    • Clojure的多方法类似于CL(可以说更强大,因为您可以对类型以外的对象进行调度),但Clojure中没有完整的CLOS。Clojure使用 struct

    • Clojure没有像CL这样的条件系统。您只有Java的 try / catch / finally 用于异常处理。

    根据应用程序及其编写方式的不同,从CL移植到Clojure可能既实用又简单,或者从一开始就以一种功能更强大、线程更安全的方式重写它,以更好地适应Clojure风格,可能更实用。

        2
  •  8
  •   zweiterlinde    15 年前

    我没有具体的答案,但我推荐以下资源:

        3
  •  6
  •   amalloy    13 年前

    blog , another blog , Thread on HN ).

    许多普通口齿不清的人在第一次查看Clojure时,最大的问题是它缺少 ,这在JVM上是不可能的。

        4
  •  3
  •   Rainer Joswig Michael Fox    14 年前

    对于惯用的CL代码,这是一个重写。

    • CL是强制性的,Clojure更纯粹是“功能性的”。
    • 标识符和语法大部分是不同的。
    • CL主要是严格的(非惰性的),Clojure使用惰性计算。

    ABCL ,这是JVM的常用Lisp。