InfoQ

News

More Languages on top of Erlang Virtual Machine

Posted by Sadek Drobi on Oct 11, 2008 04:19 AM

Community
Architecture,
Ruby
Topics
Language ,
Programming ,
Language Design ,
Performance & Scalability
Tags
Erlang ,
Virtual Machines ,
Concurrency

Erlang virtual machine – BEAM – hosts an increasing number of languages. Reia, a Python/Ruby like scripting language and Lisp Flavoured Erlang have recently been released. Debasish Ghosh reflects on this trend while other authors try to outline other possible language variants inspired by Ruby or Haskell.

Some time ago a blog post on Antares Trader explored the idea of implementing a ruby-like language on the top of Erlang virtual machine – BEAM – in order to combine the advantages offered by Ruby syntax and those of Erlang's concurrency model:

Ruby makes OO programming easy, enjoyable and intuitive [...] but its concurrency model is out of the dark ages" [...]

 

Erlang makes concurrency easy and natural, but its syntax is poor, static, and high on ceremony

 

[...] if Ruby can run on top of the Java Virtual Machine and take advantage of all the power of that environment while still being an expressive and efficient language, why not have a modified version of ruby on top of BEAM, the Erlang virtual machine.

While the author outlines how a Ruby like language on top of Erlang could look like, commentators highlight possible challenges and necessary precautions and point out to the existing initiatives of implementing languages on BEAM, such as Reia (a Python/Ruby like language) and LFE (Lisp Flavoured Erlang).

Debasish Ghosh, who wrote several posts about Erlang virtual machine, seems to believe momentum is growing for increasing number of languages variants being implemented on top of BEAM. In his post „Erlang VM : now hosting multiple languages", he also mentions Reia and LFE whereas one comentator refers to some Haskel based initiatives. Debasish suggests that this growth of Erlang ecosystem is part of a more general trend observed by Ted Leung who argues that „we are going to see not only flourishing new virtual machines, but also lots of languages atop existing virtual machines".

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.