What libs do you use to interop natively with Erlang?

I wonder how many other libs are and what languages do you use for the subject?

I know, there are C, Java libs (as a part of Erlang distribution), there is also Ergo Framework in Golang. What else?

2 Likes

I know of Pyrlang as well. GitHub - Pyrlang/Pyrlang: Erlang node implemented in Python 3.5+ (Asyncio-based). I have not tried it but think it is pretty capable.

Another way to interop that we practice (maybe you don’t call that native) is to use Google Protocol Buffers, make a proto spec and generate code for Erlang with the excellent gpb and generate for another language that you interop with and then using some other protobuf compiler either from Google or other source.

2 Likes

We’ve used erlport to connect to python. It currently supports python and ruby.

2 Likes

I have a port written in F# which wraps a dll I can’t see in to. I’m using the ETF library. I’m toying with exchanging it for a port driver to reduce overhead.

2 Likes

Ports are easy to write in any language, but for speed with NIF’s I used to use C (once NIF’s became a thing, they didn’t exist originally) but now won’t touch anything but Rust for them, it brings the safety that you really need to rely on for a NIF to keep up the stability of the system.

1 Like