Joxa:Erlang VM的并发、分布式Lisp

2020-08-17 05:14:19

Joxa是一种语义清晰、功能强大的小型LISP。它是一种通用语言,鼓励交互开发和功能编程风格。Joxa在Erlang虚拟机上运行。与其他Lisp一样,Joxa将代码视为数据,并且有一个完整的(不卫生的)宏系统。

Joxa(发音为jocksah;)不是Erlang,尽管它非常兼容。它不是Clojure,尽管有大量的共享语法。它不是Common Lisp,尽管它是宏系统的来源。虽然Joxa共享多种语言的元素,但它是自己特有的语言。在所有这些语言中,了解这些语言将帮助您快速掌握Joxa,但它是它自己独特的语言。

(NS筛子of-Eratosthenes(需要列表io)(使用(joxa-core:as core:only(!=/2))(Erlang:only(rem/2+/2)(Defn筛子(v素数)(情况v([]素数)((h.。T)(Sieve(列表/过滤器(Fn(X)(!=(Rem X H)0))t)(+素数1)(Defn+Sieve(V)(Sieve(List/Seq2v)1))。

(NS Fibonacci(Use(Erlang:Only(>;/2-/2+/2)(Defn+FIBO(N)(案例n(0)(1 1)(_(When(>;n 0))(+(FIBO(-n 1))(FIBO(-n 2)。

注意:目前,Joxa还是一个测试版产品。它在生产中使用,并且完全自托管。但是,您应该希望发现错误,并有希望报告和/或修复这些错误。就图书馆和诸如此类的东西而言,还有许多事情需要做。我们鼓励您使用Joxa并参与社区。但是,您应该预料到会遇到问题。

假设您已经安装了Erlang,您需要将Joxa可执行文件放到您的路径中。该可执行文件是一个脚本。ESCRIPT基本上是一个二进制可执行文件。但是,这取决于Erlang虚拟机的存在(取决于您的计算机)。因此,现在可以从源代码安装,也可以从发行版上的打包系统安装。

要运行编译joxa文件,只需使用a-c和文件名运行joxa即可。

Joxa文档非常好,并且一直保持更新。要进一步了解,请转到文档并开始学习示例。