новости сообщество форум вики полезно

Erjang — Erlang VM поверх Java VM

11/12/2009 10:59

Erjang

Erjang — это виртуальная машина для Эрланга, которая работает на Java.

Как это работает?

Виртуальная машина загружает .beam-файлы, транслирует их в .class-файлы и передает в Java VM.

В будущем планируется сделать Erjang самодостаточной виртуальной машиной для Эрланга (планаруется реализация всех BIF'ов в Java, избавление от внешних рланговских процессов и необходимости использовать jinterface для некоторых участков кода)

Работает ли оно?

Примерно 3/4 из .beam-файлов в стандартной поставке Erlang/OTP успешно конвертируются в .class-файлы. Это конечно не означает, что все из них транслируется корректно, время покажет. На данный момент запускаются простые примеры из src/main/erl, такие как ring, fib и другие. Это значит, что ключевые моменты (процессы, сообщения, динамическая подгрузка, исключения, трассировка, exit-сигналы, spawn, spawn_link) работают.

Для больших чисел fib в Erjang'е работает в полтора раза быстрее, чем в родной VM (в частности, из-за более эффективной реализации bignum в Java).

 

Так же в вики есть дополнительная информация о том, как реализуются различные тонкости Эрланга (хвостовая рекурсия, паттерн матчинг и т.п.)

via Francesco Cesarini @ Twitter


 
 
 
 

так же

Ссылки

via

См. также

Сюда ссылаются

twitter