Clojure有没有像CLOS (Common Lisp Object System)这样的东西?
发布于 2010-10-29 03:52:10
你有没有考虑过Clojure的data types (特别是defrecord)、protocols和multimethods?这三种方法在Clojure中总是比在这些机制之上的CLOS端口更惯用。
发布于 2010-10-29 04:48:21
Clojure本身没有对象系统,原因有两个:
但是,您显然可以在Clojure中实现对象系统。毕竟,Clojure是图灵完备的。
Mikel Evins正在研究一种新的OO方法,他称之为。他有几个Lisp的实现,包括Clojure (尽管不是所有的端口都保证总是最新的)。
类别正在慢慢地被Bard所包含,这是Mikel正在设计的一种新的Lisp方言,它具有内置的类别。(然后,反过来,它可能成为Closos的实现语言,这是米克尔关于如何设计操作系统的想法。)
发布于 2010-10-29 04:01:53
Clojure没有CLOS,也不想要CLOS,但您可以实现它。
Clojure希望是不可变的,所以拥有可变的OO将是一种愚蠢的想法,但你可以拥有一种OO。
有了这三件事,您应该能够满足所有需求,但大多数时候,最好只使用普通函数和标准数据结构。
https://stackoverflow.com/questions/4046360
复制相似问题