Clojerl是构建在ErlangVM之上的【实验性】Clojure实现,目标是结合Clojure的功能和理念(如宏、集合、序列、协议、多方法和元数据等),再加上 ErlangVM的健壮性,综合两者的长处来构建【分布式】系统。
初衷Erlang是构建安全,可靠和可扩展系统的优秀编程语言。它提供了开箱即用、不可变、且具有持久性的数据结构,其自带的并发语义是任何其他语言无法比拟的。Clojure属于Lisp方言,因此它继承了Lisps的良好特性。除了这些,Clojure还引入了其他功能,例如协议、多方法和序列等。Clojure旨在简化并发程序的开发,并且它的一些并发抽象也适用于Erlang。将ErlangVM的强大功能与Clojure的表现力相结合,可以提供一个有趣且有用的结果,使开发者的生活更简单,让世界变得更加幸福。目标提供尽可能顺畅的互操作性,像 Clojureproper和ClojureScript一样提供大多数Clojure抽象提供所有Erlang抽象和工具集在Clojerl中引入默认的OTP库环境要求构建 clojerl 需要 Erlang/OTP18+ 以及 rebar3。
gitclonehttps://github.com/clojerl/clojerlcdclojerlmake示例代码case.clje(nsexamples.case)(let*[x:by(case*x:a1:b2:c3)z(case*yx2#erl[:default:value])](erlang/displayx)(erlang/displayy)(erlang/displayz))(defncase-match-ignore[x](case*x#erl[_y_]y));;Firstandthirddon'thavetobeequal(let*[2(case-match-ignore#erl[123])])(defncase-match[x](case*x#erl[aya]y));;Firstandthirddon'thavetobeequal(let*[2(case-match#erl[121])])更多示例代码点此查看。
软件主页:https://try.clojerl.online/
评论