Re: The most appropriate way to interop the Erlang VM from another programming language in 2020
Dmytro Lytovchenko <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <CAOUb9CHFCzOFMGF7s==Nz-9c5et8XikofwoWic7R15TYZnPQ6A@mail.gmail.com> |
I created Pyrlang. Pyrlang implements Erlang network node over TCP in Python, it supports OTP 23 last time i checked (other people contributed and made it work). Yes probably the best way to access all features of a running Erlang node from another language would be to implement a network node in your language. Erlport runs as an Erlang port, i.e. standard input/output with a spawned process. This is very different from Pyrlang, also ports may be slow for transferring large data and the transfer can only happen in one stream, but nevertheless it is a valid way to communicate. On Fri, 18 Dec 2020 at 12:40, L yrosgi <[email protected]> wrote: > For example, if I made a stand-alone programming language named Overlang, > then I want: > > 1. the ability that can send a message to an Erlang process and get > the result back into the Overlang side > > 2. realtime monitoring for the Erlang VM node > > 3. RPC call <=> erlang function > > > > As an Erlang newbie, I have not a complete idea of how should I implement > these features. Currently, I just found something like the Pyrlang and the > Erlport. They used someway like the EPMD and the Erlang port protocol (I am > not sure whether they using the same erlang technology so that I pointed > out both). However, both of them start from older OTP versions (like OTP 19 > in 2016) and the Erlport seems stopped years ago. So I am not sure is it > appropriate to use the two projects for reference. > > > > // Considered the Overlang as a new project, this time we only use the > Erlang VM with the OTP version >= 23. > > > > The problem can be summarized in short: > > 1. The way that the Pyrlang or the Erlport used whether the best > practice to interop the Erlang VM from the outside > > 2. If the [EPMD/Erlang port protocol] is the most appropriate way in > the past, are there any important changes since the OTP 19? > > > > Thanks, > > > > L. >