Interfacing Erlang with the Outer World

Native Libraries

Note

This page was created between 2016 and 2018, more changes might have happened since.

There are plenty of different approaches on integrating NIFs written in other languages:

C

C++

Lua

Python

  • Pyrlang (Erlang node written in asyncio) (license Apache2)

  • ErlPort (see below in “Ports”)

  • erlang_py (license MIT)

  • py_interface Website, Github (license LGPL)

  • PyErl Github (license MPL)

Ruby

PHP

Rust

Nim

Javascript

Perl

Ports and Network

For the situations when you still need the speed and can tolerate some call latency over, but don’t want to risk crashing your node: choose interaction over network or a port.