External Process Communication, Interoperability and Robustness
External Process Communication, Interoperability and Robustness
The mission of the working group is to facilitate and standardize interfaces and best practices for interoperability with programming languages outside of languages targeting the BEAM. We believe that the efforts of the group will work towards facilitating the adoption of forward-looking technologies, promotion of the Erlang community as a good citizen in the broader technology ecosystem, and reduction of the barrier for adoption of BEAM-based solutions.
Interfacing with other languages is a common practice to harness efficiency or to provide extensibility which cannot be realized by the Erlang VM alone. There are two ways to achieve interoperability: Ports and NIFs. Ports are more safe and robust than NIFs due to protection by OS process segregation. On the other hand, NIFs have the potential to be more efficient than Ports, especially in the context of high performance computing, non-generalizable I/O systems, or bleeding edge/experimental hardware capabilities that are not ready for inclusion in mainline BEAM releases.
Some examples of systems which require or use custom interfaces, in various stages of maturity:
Currently, there are several solutions created by our community that interface with other programming languages, but there are not necessarily guidelines or best practices for the creation of these solutions, a process to review them, or a formalized way to guide interested developers to help out with these solutions.
Objectives of the working group are to survey current strategies, to support exploration and experimentation for new best practices, to craft standards for evaluating different approaches, and to help balance exploration with reduction of community fragmentation and reduplicated effort.
The topics include discussing and exploring different approaches on different platforms. To have a proper integration with Erlang Runtime requires insight and guidance from the core team. This requires backing from the foundation to bring the people together. The solution has immediate and tangible benefit to the community.
You can reach us: