Вы не можете использовать библиотеки JVM / CLR, учитывая их зависимость от изменяемых объектов.
Обработка исключений Erlang сильно отличается от исключений JVM и CLR, вам придется как-то это обрабатывать.
Реализация процессов в виде потоков означала бы, что любая значительная система Erlang исчерпывает память довольно быстро (размер процесса на моем компьютере при создании: 1268 байт, размер стека потока в CLR: 1 МБ), а связь между процессами намного медленнее, чем в Erlang.
То, что вы, вероятно, хотите, это реализация Actor Model в JVM или CLR.
Скала и Clojure уже упоминались. Кроме того, существует множество реализаций Actor для JVM:
Килим , Функциональный Java , Jetlang , Гильдия актеров , ActorFoundry и хотя бы один для CLR: Retlang , который можно использовать на любом языке JVM / CLR.