当前位置:  开发笔记 > 编程语言 > 正文

Jlang/CLR上的Erlang

如何解决《Jlang/CLR上的Erlang》经验,为你挑选了3个好方法。

我刚刚开始阅读关于Erlang的Joe Armstrongs的书,并听取了他关于软件工程广播的精彩演讲.

它是一个有趣的语言/系统,其时间似乎随着多核机器的出现而出现.

我的问题是:有什么可以阻止它被移植到JVM或CLR?我意识到两个虚拟机都没有设置为运行Erlang所要求的轻量级进程 - 但是这些虚拟机不能被线程模拟?我们可以在非Erlang VM上看到Erlang的轻量级或缩减版本吗?



1> Alexey Roman..:

鉴于它们依赖于可变对象,您无法使用JVM/CLR库.

Erlang异常处理与JVM和CLR异常完全不同,您需要以某种方式处理它.

将进程实现为线程意味着任何相当大的Erlang系统都会非常快地耗尽内存(创建时我的机器上的进程大小:1268字节,CLR中的线程堆栈大小:1 MB),并且进程之间的通信比Erlang慢得多.

你可能想要的是JVM或CLR上的Actor Model实现.

已经提到过Scala和Clojure.此外,JVM还有许多Actor实现: Kilim,Functional Java,Jetlang,Actors Guild,ActorFoundry,以及至少一个用于CLR:Retlang,可以从任何JVM/CLR语言使用.



2> topless..:

出于教育原因,我们正在为CLR实现ErlangVM的一个子集.我们受到了Kresten Krab Thorup和他的项目Erjang的启发,Erjang是一个基于JVM的Erlang VM.Erjang使用kilim框架来表示轻量级进程,并开始引起注意.

Javalimit - Erjang的作者博客.

Erjang存储库



3> Gordon Guthr..:

这是一个很好的讨论.某些上下文可能有用.

来自去年11月的Erlang邮件列表:

一个长讨论线程的开始

继续在这里

并且在这里有点精神

并以Joe的贡献结束.

我对JVM上关于Erlang的争论有何贡献?不,不是个好主意:(

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有