BeamParticle -- polyglot dynamic programming engine

Click for: original source

Neeraj Sharma introduction into BeamParticle – an open source project built on top of the Erlang virtual machine (BEAM), which allows dynamic (re)programming in multiple programming languages. The project supports six different programming languages; namely: Erlang, Elixir, Java, Python, Efene, and PHP.

Key features include:

  • Supports 6 programming languages: Erlang, Elixir, Java-8, Python-3, Efene and PHP-5(subset).
  • Can run as a cluster (via Erlang distribution protocol)
  • Functions are dynamic and saving them instantly deploys them as HTTP POST API
  • Functions written in Erlang, Elixir, Efene and PHP can call other functions natively (with type conversions). Easily compile and deploy logic of code (functions) (across cluster when one exists) and archives them into a local
  • Key-Value store (powered by Google LevelDB).
  • System can create Jobs (or crons) which can be persisted to disk as well, so that they exist even after system restart.
  • HTTP(s) support with both HTTP 1.1 and HTTP 2.0 protocol.

The function compilation happens for the first time, while subsequent invocation uses the cached version to gain performance. Article then have many examples with codes for different languages and links to further resources. Very useful when you play with new API!

[Read More]

Tags programming erlang functional-programming elixir